Changeset: 72a366f0d7c4 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=72a366f0d7c4
Modified Files:
sql/backends/monet5/rel_bin.c
sql/test/SQLancer/Tests/sqlancer04.sql
sql/test/SQLancer/Tests/sqlancer04.stable.out
Branch: Oct2020
Log Message:
Don't push candidate lists at 'in' expressions
diffs (54 lines):
diff --git a/sql/backends/monet5/rel_bin.c b/sql/backends/monet5/rel_bin.c
--- a/sql/backends/monet5/rel_bin.c
+++ b/sql/backends/monet5/rel_bin.c
@@ -395,9 +395,9 @@ handle_in_exps(backend *be, sql_exp *ce,
if(!i)
return NULL;
- i = stmt_binop(be, c, i, sel, cmp);
+ i = stmt_binop(be, c, i, NULL, cmp);
if (s)
- s = stmt_binop(be, s, i, sel, a);
+ s = stmt_binop(be, s, i, NULL, a);
else
s = i;
diff --git a/sql/test/SQLancer/Tests/sqlancer04.sql
b/sql/test/SQLancer/Tests/sqlancer04.sql
--- a/sql/test/SQLancer/Tests/sqlancer04.sql
+++ b/sql/test/SQLancer/Tests/sqlancer04.sql
@@ -386,3 +386,12 @@ least(-650735786, -1123683253) ELSE 1414
(CAST(TRUE AS TINYINT))), r'u''A#{' FROM v28, v32, v3) AS sub0 ON
(((TRUE)AND(TRUE))) = TRUE
WHERE ((v7.vc1)ILIKE(upper(v43.vc1))) GROUP BY "second"(TIME '10:50:47');
ROLLBACK;
+
+CREATE TABLE t2(c0 DOUBLE);
+INSERT INTO t2(c0) VALUES(852.0), (-0.31015700674852054), (45), (null),
(-1.936408526E9), (0.12208305626734062), (-1.707045885E9);
+INSERT INTO t2(c0) VALUES(1660989841);
+DELETE FROM t2 WHERE TRUE;
+INSERT INTO t2(c0) VALUES(null);
+UPDATE t2 SET c0 = 0.2818413675323882 WHERE
sql_min((0.0194696766772712859250304973102174699306488037109375)
+BETWEEN (t2.c0) AND (0.8918001896191873), (t2.c0) NOT IN (-682776732));
+DROP TABLE t2;
diff --git a/sql/test/SQLancer/Tests/sqlancer04.stable.out
b/sql/test/SQLancer/Tests/sqlancer04.stable.out
--- a/sql/test/SQLancer/Tests/sqlancer04.stable.out
+++ b/sql/test/SQLancer/Tests/sqlancer04.stable.out
@@ -488,6 +488,19 @@ stdout of test 'sqlancer04` in directory
% double, int # type
% 24, 1 # length
#ROLLBACK;
+#CREATE TABLE t2(c0 DOUBLE);
+#INSERT INTO t2(c0) VALUES(852.0), (-0.31015700674852054), (45), (null),
(-1.936408526E9), (0.12208305626734062), (-1.707045885E9);
+[ 7 ]
+#INSERT INTO t2(c0) VALUES(1660989841);
+[ 1 ]
+#DELETE FROM t2 WHERE TRUE;
+[ 8 ]
+#INSERT INTO t2(c0) VALUES(null);
+[ 1 ]
+#UPDATE t2 SET c0 = 0.2818413675323882 WHERE
sql_min((0.0194696766772712859250304973102174699306488037109375)
+#BETWEEN (t2.c0) AND (0.8918001896191873), (t2.c0) NOT IN (-682776732));
+[ 0 ]
+#DROP TABLE t2;
# 09:44:50 >
# 09:44:50 > "Done."
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list