for compat, single select arg doesnt quote
Matt S Trout [Sun, 28 Oct 2018 00:31:54 +0000 (00:31 +0000)]
lib/SQL/Abstract.pm
t/01generate.t

index 6b9d4a2..b376909 100644 (file)
@@ -433,6 +433,7 @@ sub select {
 
 sub _select_fields {
   my ($self, $fields) = @_;
+  return $fields unless ref($fields);
   return $self->_render_expr(
     $self->_expand_maybe_list_expr($fields, undef, '-ident')
   );
index 50e2f46..4c23c48 100644 (file)
@@ -75,6 +75,14 @@ my @tests = (
               bind   => ['boom']
       },
       {
+              # this is maybe wrong but a single arg doesn't get quoted
+              func   => 'select',
+              args   => ['test', 'id', { a => { '!=', 'boom' } }],
+              stmt   => 'SELECT id FROM test WHERE ( a != ? )',
+              stmt_q => 'SELECT id FROM `test` WHERE ( `a` != ? )',
+              bind   => ['boom']
+      },
+      {
               func   => 'update',
               args   => ['test', {a => 'boom'}, {a => undef}],
               stmt   => 'UPDATE test SET a = ? WHERE ( a IS NULL )',