Changeset: 235a273756da for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=235a273756da Modified Files: monetdb5/optimizer/opt_postfix.c sql/test/SQLancer/Tests/sqlancer02.test sql/test/SQLancer/Tests/sqlancer04.test sql/test/SQLancer/Tests/sqlancer10.test sql/test/SQLancer/Tests/sqlancer11.test Branch: default Log Message:
I got the flag swapping wrong (I thought it was the complement). Also removed semicolons at the end of test queries diffs (182 lines): diff --git a/monetdb5/optimizer/opt_postfix.c b/monetdb5/optimizer/opt_postfix.c --- a/monetdb5/optimizer/opt_postfix.c +++ b/monetdb5/optimizer/opt_postfix.c @@ -76,16 +76,16 @@ OPTpostfixImplementation(Client cntxt, M ValRecord *x = &getVarConstant(mb, getArg(p, 6)), cst = {.vtype = TYPE_int}; switch (x->val.ival) { case JOIN_LT: - cst.val.ival = JOIN_GE; - break; - case JOIN_LE: cst.val.ival = JOIN_GT; break; + case JOIN_LE: + cst.val.ival = JOIN_GE; + break; case JOIN_GT: - cst.val.ival = JOIN_LE; + cst.val.ival = JOIN_LT; break; case JOIN_GE: - cst.val.ival = JOIN_LT; + cst.val.ival = JOIN_LE; break; default: cst.val.ival = x->val.ival; diff --git a/sql/test/SQLancer/Tests/sqlancer02.test b/sql/test/SQLancer/Tests/sqlancer02.test --- a/sql/test/SQLancer/Tests/sqlancer02.test +++ b/sql/test/SQLancer/Tests/sqlancer02.test @@ -522,7 +522,7 @@ 896 statement error SELECT ALL t1.c0 FROM t1, t2 CROSS JOIN ((SELECT 1 FROM t2) EXCEPT (SELECT ALL ((CASE 0.1 WHEN 0.2 THEN t2.c2 END)>(greatest(t2.c2, t2.c0))) FROM t2)) AS sub0 -WHERE (3.0) IS NOT NULL; --error +WHERE (3.0) IS NOT NULL statement ok ROLLBACK diff --git a/sql/test/SQLancer/Tests/sqlancer04.test b/sql/test/SQLancer/Tests/sqlancer04.test --- a/sql/test/SQLancer/Tests/sqlancer04.test +++ b/sql/test/SQLancer/Tests/sqlancer04.test @@ -57,7 +57,7 @@ else coalesce (case coalesce (dayofmonth cast(t0.c3 as double)) then case least(t0.c1, t0.c1) when case t0.c2 when interval '5' month then r'*pf6/+}öq壚,j2\302\205K]sNKk,_%Tu' when 1016331084 then r'0.4' else r'*' end then 0.8 end when sql_min(t0.c3, t0.c3) then coalesce (cast(t0.c2 as decimal), "second"(t0.c3), cast(t0.c2 as decimal), 0.9) when coalesce (cast(t0.c1 as double), 0.2) then 0.0 else 0.0 end, 0.2) end from t0 where (interval '6' month) -is not null group by cast(dayofmonth(t0.c0) as string(679)), 0.2; --error, types sec_interval(0,0) and tinyint(8,0) are not equal +is not null group by cast(dayofmonth(t0.c0) as string(679)), 0.2 statement ok ROLLBACK diff --git a/sql/test/SQLancer/Tests/sqlancer10.test b/sql/test/SQLancer/Tests/sqlancer10.test --- a/sql/test/SQLancer/Tests/sqlancer10.test +++ b/sql/test/SQLancer/Tests/sqlancer10.test @@ -219,7 +219,7 @@ statement ok ROLLBACK query I rowsort -select case 3 <> any(select 4) when true then 2 when false then 8 end; +select case 3 <> any(select 4) when true then 2 when false then 8 end ---- 2 @@ -242,3 +242,31 @@ 6 statement ok ROLLBACK +statement ok +START TRANSACTION + +statement ok +CREATE TABLE "t0" ("c0" INT NOT NULL,CONSTRAINT "t0_c0_pkey" PRIMARY KEY ("c0"),CONSTRAINT "t0_c0_unique" UNIQUE ("c0")) + +statement ok +INSERT INTO "t0" VALUES (0),(-10),(1),(2) + +statement ok +CREATE TABLE "t1" ("c0" INT) + +statement ok +INSERT INTO "t1" VALUES (4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4), +(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4), +(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(4),(6),(1),(1) + +query I rowsort +SELECT ALL t1.c0 FROM t0, t1 WHERE ((t0.c0)>(least(9, t1.c0))) +---- +1 +1 + +query I rowsort +SELECT CAST(SUM(count) AS BIGINT) FROM (SELECT CAST(((t0.c0)>(least(9, t1.c0))) AS INT) as count FROM t0, t1) as res +---- +2 + diff --git a/sql/test/SQLancer/Tests/sqlancer11.test b/sql/test/SQLancer/Tests/sqlancer11.test --- a/sql/test/SQLancer/Tests/sqlancer11.test +++ b/sql/test/SQLancer/Tests/sqlancer11.test @@ -708,7 +708,7 @@ statement ok START TRANSACTION statement ok -CREATE TABLE "sys"."t0" ("c1" REAL NOT NULL,"c2" SMALLINT,"c3" UUID); +CREATE TABLE "sys"."t0" ("c1" REAL NOT NULL,"c2" SMALLINT,"c3" UUID) statement ok INSERT INTO "sys"."t0" VALUES (1.2981725e+09, 0, '7dd474c9-f093-8ecd-5f7c-0f9100ac11ba'),(0.49708593, 0, '0aead7ff-1812-bac2-fb0e-f982697d5ddd'), @@ -750,7 +750,7 @@ statement ok INSERT INTO "t2" VALUES (4),(5),(6),(7),(8),(9),(10),(11),(12),(13),(0) query I rowsort -SELECT 1 FROM t0, t2 RIGHT OUTER JOIN (VALUES (((SELECT '1') INTERSECT ALL (SELECT DISTINCT '3' FROM t2 AS l1t2 WHERE FALSE)))) AS sub0 ON ('6' LIKE (SELECT DISTINCT 'e' FROM t1 AS l2t1)) GROUP BY t0.c1; +SELECT 1 FROM t0, t2 RIGHT OUTER JOIN (VALUES (((SELECT '1') INTERSECT ALL (SELECT DISTINCT '3' FROM t2 AS l1t2 WHERE FALSE)))) AS sub0 ON ('6' LIKE (SELECT DISTINCT 'e' FROM t1 AS l2t1)) GROUP BY t0.c1 ---- 1 1 @@ -758,7 +758,7 @@ 1 1 query I rowsort -SELECT 1 FROM t0, t2 RIGHT OUTER JOIN (VALUES (((SELECT '1') INTERSECT ALL (SELECT DISTINCT '3' FROM t2 AS l1t2 WHERE FALSE)))) AS sub0 ON ('6' LIKE (SELECT DISTINCT 'e' FROM t1 AS l2t1)) GROUP BY t0.c1 HAVING count(*) <> 0; +SELECT 1 FROM t0, t2 RIGHT OUTER JOIN (VALUES (((SELECT '1') INTERSECT ALL (SELECT DISTINCT '3' FROM t2 AS l1t2 WHERE FALSE)))) AS sub0 ON ('6' LIKE (SELECT DISTINCT 'e' FROM t1 AS l2t1)) GROUP BY t0.c1 HAVING count(*) <> 0 ---- 1 1 @@ -766,12 +766,12 @@ 1 1 query I rowsort -SELECT 1 FROM t0, t2 RIGHT OUTER JOIN (VALUES (((SELECT '1') INTERSECT ALL (SELECT DISTINCT '3' FROM t2 AS l1t2 WHERE FALSE)))) AS sub0 ON ('6' LIKE (SELECT DISTINCT 'e' FROM t1 AS l2t1)) GROUP BY t0.c1 HAVING NOT (count(*) <> 0); +SELECT 1 FROM t0, t2 RIGHT OUTER JOIN (VALUES (((SELECT '1') INTERSECT ALL (SELECT DISTINCT '3' FROM t2 AS l1t2 WHERE FALSE)))) AS sub0 ON ('6' LIKE (SELECT DISTINCT 'e' FROM t1 AS l2t1)) GROUP BY t0.c1 HAVING NOT (count(*) <> 0) ---- query I rowsort -SELECT 1 FROM t0, t2 RIGHT OUTER JOIN (VALUES (((SELECT '1') INTERSECT ALL (SELECT DISTINCT '3' FROM t2 AS l1t2 WHERE FALSE)))) AS sub0 ON ('6' LIKE (SELECT DISTINCT 'e' FROM t1 AS l2t1)) GROUP BY t0.c1 HAVING (count(*) <> 0) IS NULL; +SELECT 1 FROM t0, t2 RIGHT OUTER JOIN (VALUES (((SELECT '1') INTERSECT ALL (SELECT DISTINCT '3' FROM t2 AS l1t2 WHERE FALSE)))) AS sub0 ON ('6' LIKE (SELECT DISTINCT 'e' FROM t1 AS l2t1)) GROUP BY t0.c1 HAVING (count(*) <> 0) IS NULL ---- @@ -800,7 +800,7 @@ statement ok INSERT INTO "t2" VALUES ('6b1b3e0e-655f-cbf3-bfa6-58cac0fdb5b7', -156155021) query T rowsort -SELECT t1.c2 FROM t1, t2 RIGHT OUTER JOIN (VALUES (UUID '131b9167-efFa-92FE-523A-5EF2Ca7963a8', 1)) AS sub0 ON false WHERE ((SELECT DISTINCT 3 FROM t0 AS l2t0) EXCEPT ALL (SELECT 2 FROM t0 AS l2t0)) IS NULL; +SELECT t1.c2 FROM t1, t2 RIGHT OUTER JOIN (VALUES (UUID '131b9167-efFa-92FE-523A-5EF2Ca7963a8', 1)) AS sub0 ON false WHERE ((SELECT DISTINCT 3 FROM t0 AS l2t0) EXCEPT ALL (SELECT 2 FROM t0 AS l2t0)) IS NULL ---- 7982 7982 @@ -822,7 +822,7 @@ 7982 7982 query T rowsort -SELECT ((SELECT DISTINCT 3 FROM t0 AS l2t0) EXCEPT ALL (SELECT 2 FROM t0 AS l2t0)) IS NULL FROM t1, t2 RIGHT OUTER JOIN (VALUES (UUID '131b9167-efFa-92FE-523A-5EF2Ca7963a8', 1)) AS sub0 ON false; +SELECT ((SELECT DISTINCT 3 FROM t0 AS l2t0) EXCEPT ALL (SELECT 2 FROM t0 AS l2t0)) IS NULL FROM t1, t2 RIGHT OUTER JOIN (VALUES (UUID '131b9167-efFa-92FE-523A-5EF2Ca7963a8', 1)) AS sub0 ON false ---- True True @@ -897,20 +897,20 @@ statement ok START TRANSACTION statement ok -CREATE TABLE "sys"."t0" ("c0" BIGINT,"c2" DECIMAL(18,3),"c4" BIGINT,"c5" VARCHAR(253)); +CREATE TABLE "sys"."t0" ("c0" BIGINT,"c2" DECIMAL(18,3),"c4" BIGINT,"c5" VARCHAR(253)) statement ok -CREATE TABLE "sys"."t1" ("c2" BINARY LARGE OBJECT); +CREATE TABLE "sys"."t1" ("c2" BINARY LARGE OBJECT) statement ok -CREATE TABLE "sys"."t2" ("c2" BIGINT); +CREATE TABLE "sys"."t2" ("c2" BIGINT) statement ok -INSERT INTO "sys"."t2" VALUES (6),(7),(1),(1457323133),(8); +INSERT INTO "sys"."t2" VALUES (6),(7),(1),(1457323133),(8) statement ok INSERT INTO t1(c2) VALUES(COALESCE(BLOB '23f0', ifthenelse(FALSE, BLOB '', BLOB '70'), COALESCE(BLOB 'f7b1FD', BLOB 'A0', BLOB '0c', BLOB '', BLOB ''))), -(CASE WHEN NOT EXISTS (SELECT ALL l2t2.c2 FROM t2 AS l2t2, t0 AS l2t0, t1 AS l2t1 WHERE FALSE) THEN BLOB 'F0' ELSE (SELECT DISTINCT NULL WHERE TRUE) END); +(CASE WHEN NOT EXISTS (SELECT ALL l2t2.c2 FROM t2 AS l2t2, t0 AS l2t0, t1 AS l2t1 WHERE FALSE) THEN BLOB 'F0' ELSE (SELECT DISTINCT NULL WHERE TRUE) END) statement ok ROLLBACK _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list