Changeset: b33e46da54c5 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b33e46da54c5
Modified Files:
        sql/server/sql_atom.c
        sql/test/SQLancer/Tests/sqlancer05.sql
        sql/test/SQLancer/Tests/sqlancer05.stable.out
Branch: Oct2020
Log Message:

Making SQLancer happy, don't test for true and false values for strings. THe 
current heuristic was incorrect


diffs (61 lines):

diff --git a/sql/server/sql_atom.c b/sql/server/sql_atom.c
--- a/sql/server/sql_atom.c
+++ b/sql/server/sql_atom.c
@@ -1435,8 +1435,6 @@ atom_is_true(atom *a)
                return a->data.val.fval != 0;
        case TYPE_dbl:
                return a->data.val.dval != 0;
-       case TYPE_str:
-               return strcmp(a->data.val.sval, "") != 0;
        default:
                return 0;
        }
@@ -1464,8 +1462,6 @@ atom_is_false(atom *a)
                return a->data.val.fval == 0;
        case TYPE_dbl:
                return a->data.val.dval == 0;
-       case TYPE_str:
-               return strcmp(a->data.val.sval, "") == 0;
        default:
                return 0;
        }
diff --git a/sql/test/SQLancer/Tests/sqlancer05.sql 
b/sql/test/SQLancer/Tests/sqlancer05.sql
--- a/sql/test/SQLancer/Tests/sqlancer05.sql
+++ b/sql/test/SQLancer/Tests/sqlancer05.sql
@@ -115,3 +115,10 @@ INSERT INTO t1(c0) VALUES(0.40), (0.75);
 UPDATE t1 SET c0 = 0.28 WHERE (CAST(INTERVAL '31' MONTH AS STRING)) NOT IN 
(COALESCE('靟', 'P먌+}I*CpQ'));
 SELECT c0 FROM t1;
 DROP TABLE t1;
+
+SELECT 1 WHERE '0';
+       --empty
+SELECT 1 WHERE NOT '0';
+       -- 1
+SELECT 1 WHERE '0' IS NULL;
+       --empty
diff --git a/sql/test/SQLancer/Tests/sqlancer05.stable.out 
b/sql/test/SQLancer/Tests/sqlancer05.stable.out
--- a/sql/test/SQLancer/Tests/sqlancer05.stable.out
+++ b/sql/test/SQLancer/Tests/sqlancer05.stable.out
@@ -158,6 +158,22 @@ stdout of test 'sqlancer05` in directory
 [ 0.400        ]
 [ 0.750        ]
 #DROP TABLE t1;
+#SELECT 1 WHERE '0';
+% .%2 # table_name
+% %2 # name
+% tinyint # type
+% 1 # length
+#SELECT 1 WHERE NOT '0';
+% .%3 # table_name
+% %3 # name
+% tinyint # type
+% 1 # length
+[ 1    ]
+#SELECT 1 WHERE '0' IS NULL;
+% .%2 # table_name
+% %2 # name
+% tinyint # type
+% 1 # length
 
 # 12:00:38 >  
 # 12:00:38 >  "Done."
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to