Fix incorrect comparison of malformed lists
[scpubgit/Q-Branch.git] / t / 10test.t
index aa140d4..b5d4829 100644 (file)
@@ -615,6 +615,20 @@ my @sql_tests = (
           'SELECT * FROM foo WHERE a IN (3,2,1)',
         ]
       },
+
+      # list consistency
+      {
+        equal => 0,
+        statements => [
+          'SELECT a,b FROM foo',
+          'SELECT a,,b FROM foo',
+          'SELECT a,b, FROM foo',
+          'SELECT ,a,b, FROM foo',
+          'SELECT ,a,,b, FROM foo',
+        ],
+      },
+
+      # misc func
       {
         equal => 0,
         statements => [
@@ -625,7 +639,6 @@ my @sql_tests = (
           'SELECT count(1) FROM foo',
         ]
       },
-      # misc func
       {
         equal => 1,
         statements => [
@@ -643,33 +656,31 @@ my @sql_tests = (
           'SELECT foo FROM bar ()',
         ]
       },
-      # single ? of unknown funcs can unroll
-      # (think ...LIKE ?...)
       {
-        equal => 1,
+        equal => 0,
         statements => [
-          'SELECT foo FROM bar WHERE bar > foo ?',
-          'SELECT foo FROM bar WHERE bar > foo (?)',
-          'SELECT foo FROM bar WHERE bar > foo( ? )',
+          'SELECT COUNT * FROM foo',
+          'SELECT COUNT( * ) FROM foo',
         ]
       },
+      # single ? of unknown funcs do not unroll unless
+      # explicitly allowed (e.g. Like)
       {
-        equal => 1,
+        equal => 0,
         statements => [
-          'SELECT foo FROM bar WHERE bar > (foo ?)',
-          'SELECT foo FROM bar WHERE bar > (foo( ? ))',
-          'SELECT foo FROM bar WHERE bar > (( foo (?) ))',
+          'SELECT foo FROM bar WHERE bar > foo ?',
+          'SELECT foo FROM bar WHERE bar > foo( ? )',
         ]
       },
       {
         equal => 1,
         statements => [
-          'SELECT foo FROM bar WHERE bar foo ?',
-          'SELECT foo FROM bar WHERE bar foo (?)',
-          'SELECT foo FROM bar WHERE bar foo( (?))',
+          'SELECT foo FROM bar WHERE bar LIKE ?',
+          'SELECT foo FROM bar WHERE bar LiKe (?)',
+          'SELECT foo FROM bar WHERE bar lIkE( (?))',
         ]
       },
-      # not so about multival
+      # test multival
       {
         equal => 0,
         statements => [