X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FSQL%2FAbstract.pm;h=5aaeee011af39e6cb5df773a4505b32321f23518;hb=883e036241e3f4f339c5021730aa4f1280d2130c;hp=1a8705d3ea3bbc686cb2f837f7fc0548ebd3ae26;hpb=30df414aba665f75a12eb0ff4231aabec029668a;p=dbsrgits%2FSQL-Abstract.git diff --git a/lib/SQL/Abstract.pm b/lib/SQL/Abstract.pm index 1a8705d..5aaeee0 100644 --- a/lib/SQL/Abstract.pm +++ b/lib/SQL/Abstract.pm @@ -195,6 +195,14 @@ sub new { -ident => '_expand_ident', -value => sub { +{ -bind => [ our $Cur_Col_Meta, $_[2] ] } }, -not => sub { +{ -op => [ 'not', $_[0]->_expand_expr($_[2]) ] } }, + -bool => sub { + my ($self, undef, $v) = @_; + if (ref($v)) { + return $self->_expand_expr($v); + } + puke "-bool => undef not supported" unless defined($v); + return $self->_expand_ident(-ident => $v); + }, }; return bless \%opt, $class; @@ -628,13 +636,6 @@ sub _expand_expr_hashpair { } return $self->_expand_expr($v); } - if ($k eq '-bool') { - if (ref($v)) { - return $self->_expand_expr($v); - } - puke "-bool => undef not supported" unless defined($v); - return $self->_expand_ident(-ident => $v); - } if (my ($rest) = $k =~/^-not[_ ](.*)$/) { return +{ -op => [ 'not',