make non-unops multipart
Matt S Trout [Sun, 16 Sep 2018 22:49:17 +0000 (22:49 +0000)]
lib/SQL/Abstract.pm

index 71b4c53..4473764 100644 (file)
@@ -1286,11 +1286,11 @@ sub _where_op_OP {
         : "${op_sql} ${expr_sql}"
     );
     return (($op eq 'not' ? '('.$final_sql.')' : $final_sql), @bind);
-  } elsif (@args == 2) {
-     my ($l, $r) = map [ $self->_recurse_where($_) ], @args;
+  } else {
+     my @parts = map [ $self->_recurse_where($_) ], @args;
      return (
-       $l->[0].' '.$self->_sqlcase($final_op).' '.$r->[0],
-       @{$l}[1..$#$l], @{$r}[1..$#$r]
+       join(' '.$self->_sqlcase($final_op).' ', map $_->[0], @parts),
+       map @{$_}[1..$#$_], @parts
      );
   }
   die "unhandled";