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

Reply via email to