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