# the digits are backcompat stuff
{ regex => qr/^and (?: \s? \d+ )? $/xi, handler => '_where_op_ANDOR' },
{ regex => qr/^or (?: \s? \d+ )? $/xi, handler => '_where_op_ANDOR' },
- { regex => qr/^ (?: not \s )? bool $/xi, handler => '_where_op_BOOL' },
- { regex => qr/^ ident $/xi, handler => '_where_op_IDENT' },
{ regex => qr/^nest (?: \s? \d+ )? $/xi, handler => '_where_op_NEST' },
+ { regex => qr/^ (?: not \s )? bool $/xi, handler => '_where_op_BOOL' },
);
#======================================================================
return ($sql, @bind);
}
-sub _where_op_IDENT {
- my ($self, $op, $v) = @_;
-
- if (ref $v) {
- puke "-$op takes a single scalar argument (a quotable identifier)";
- }
-
- return $self->_convert($self->_quote($v));
-}
-
sub _where_op_ANDOR {
my ($self, $op, $v) = @_;
push @all_bind, @bind;
}
- my $sql = sprintf ('%s %s ( %s )',
- $label,
- $op,
- join (', ', @all_sql)
+ return (
+ sprintf ('%s %s ( %s )',
+ $label,
+ $op,
+ join (', ', @all_sql)
+ ),
+ $self->_bindtype($k, @all_bind),
);
- return ($sql, @all_bind);
}
else { # empty list : some databases won't understand "IN ()", so DWIM
my $sql = ($op =~ /\bnot\b/i) ? $self->{sqltrue} : $self->{sqlfalse};