From: Matt S Trout <mst@shadowcat.co.uk>
Date: Sun, 28 Oct 2018 00:31:54 +0000 (+0000)
Subject: for compat, single select arg doesnt quote
X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=de63ce570a396ba4b165b40191bfc1ba4dd45089;p=scpubgit%2FQ-Branch.git

for compat, single select arg doesnt quote
---

diff --git a/lib/SQL/Abstract.pm b/lib/SQL/Abstract.pm
index 6b9d4a2..b376909 100644
--- a/lib/SQL/Abstract.pm
+++ b/lib/SQL/Abstract.pm
@@ -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')
   );
diff --git a/t/01generate.t b/t/01generate.t
index 50e2f46..4c23c48 100644
--- a/t/01generate.t
+++ b/t/01generate.t
@@ -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 )',