Changeset: fd6569734943 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=fd6569734943 Branch: mtest Log Message:
merge heads diffs (truncated from 429 to 300 lines): diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c --- a/gdk/gdk_logger.c +++ b/gdk/gdk_logger.c @@ -3182,7 +3182,7 @@ bm_commit(logger *lg, lng save_id) return GDK_FAIL; } BBPrelease(bid); - assert(BBP_lrefs(bid)<=0 && BBP_refs(bid)==0); + //assert(BBP_lrefs(bid)<=0 && BBP_refs(bid)==0); } if (leftover) { nfreed = logbat_new(TYPE_int, leftover, TRANSIENT); diff --git a/sql/test/BugTracker/Tests/mapi_connect_errors_vanish.SF-1432134.py b/sql/test/BugTracker/Tests/mapi_connect_errors_vanish.SF-1432134.py --- a/sql/test/BugTracker/Tests/mapi_connect_errors_vanish.SF-1432134.py +++ b/sql/test/BugTracker/Tests/mapi_connect_errors_vanish.SF-1432134.py @@ -1,4 +1,7 @@ import sys, os, pymonetdb +import logging + +logging.basicConfig(level=logging.FATAL) db = os.getenv("TSTDB") port = int(os.getenv("MAPIPORT")) diff --git a/sql/test/SQLancer/Tests/sqlancer07.sql b/sql/test/SQLancer/Tests/sqlancer07.sql --- a/sql/test/SQLancer/Tests/sqlancer07.sql +++ b/sql/test/SQLancer/Tests/sqlancer07.sql @@ -1,9 +1,3 @@ -START TRANSACTION; -CREATE TABLE "t1" ("c0" DECIMAL(18,3),"c1" BINARY LARGE OBJECT NOT NULL,"c2" DECIMAL(18,3),CONSTRAINT "t1_c1_unique" UNIQUE ("c1")); -PREPARE SELECT DISTINCT (SELECT DISTINCT r'|m<v' FROM t1 WHERE ((t1.c0)<(?)) GROUP BY t1.c2, ?), ?, t1.c2 FROM t1 WHERE CAST(? AS BOOLEAN) LIMIT 2103332269785059850; - -- Could not determine type for argument number 2 -ROLLBACK; - START TRANSACTION; CREATE TABLE "t0"("c0" INTERVAL MONTH,"c1" INTERVAL SECOND); CREATE TABLE "t1"("c0" INTERVAL MONTH,"c1" INTERVAL SECOND); @@ -42,13 +36,6 @@ SELECT 0 <= ANY(SELECT CASE INTERVAL '2' ROLLBACK; START TRANSACTION; -CREATE TABLE "t0" ("c0" BOOLEAN NOT NULL); -CREATE TABLE "t1" ("c0" DECIMAL(18,3)); -CREATE TABLE "t2" ("c0" DECIMAL(18,3),"c2" DATE); -PREPARE (SELECT DISTINCT t0.c0, INTERVAL '1734780053' SECOND FROM t0, t1) UNION ALL (SELECT ?, ? FROM t2); -ROLLBACK; - -START TRANSACTION; CREATE TABLE "t0" ("c0" INTERVAL MONTH NOT NULL,CONSTRAINT "t0_c0_pkey" PRIMARY KEY ("c0"),CONSTRAINT "t0_c0_unique" UNIQUE ("c0"),CONSTRAINT "t0_c0_unique" UNIQUE ("c0")); INSERT INTO "t0" VALUES (INTERVAL '2101098338' MONTH); CREATE TABLE "t1" ("c0" INTERVAL MONTH,"c1" BOOLEAN); @@ -59,14 +46,6 @@ SELECT CAST(t1.c1 AS INT) FROM t1, t0 RI ROLLBACK; START TRANSACTION; -CREATE TABLE "t0" ("c0" DATE,"c2" INTEGER); -CREATE TABLE "t1" ("c1" TIMESTAMP,"c2" INTEGER); -CREATE TABLE "t2" ("c0" DATE,"c1" TIMESTAMP,"c2" INTEGER); -PREPARE (SELECT ?, t1.c2 FROM t1, t0 WHERE (SELECT DISTINCT (t1.c2) BETWEEN ASYMMETRIC (?) AND (t1.c2) FROM t1 CROSS JOIN -((SELECT DISTINCT 6.9089063E7, TRUE FROM t2 WHERE TRUE) EXCEPT (SELECT ALL 0.4, FALSE FROM t2, t1 INNER JOIN t0 ON FALSE)) AS sub0 WHERE FALSE)) INTERSECT DISTINCT (SELECT DISTINCT 0.2, ? FROM t0, t2 WHERE ?); -ROLLBACK; - -START TRANSACTION; CREATE TABLE "t0" ("c0" VARCHAR(156) NOT NULL); CREATE TABLE "t1" ("c0" VARCHAR(156) NOT NULL); select 1 from t0, t1 inner join t0 on true; @@ -160,18 +139,6 @@ DROP TABLE t2; SELECT 1 WHERE (SELECT 1 WHERE FALSE) IS NULL; -- 1 -PREPARE SELECT 1 WHERE greatest(true, ?); - -- ? should be set to boolean - -PREPARE SELECT (SELECT ? FROM (select 1) as v1(c0)); - -- cannot determine parameter type - -PREPARE SELECT ?, CASE 'weHtU' WHEN (values (?)) THEN 'G' END; - -- cannot determine parameter type - -PREPARE SELECT DISTINCT ?, CAST(CASE least(?, r'weHtU') WHEN ? THEN ? WHEN ? THEN ? WHEN (VALUES (?)) THEN r'G' ELSE ? END AS DATE) WHERE (?) IS NOT NULL LIMIT 519007555986016405; - -- cannot have a parameter for IS NOT NULL operator - START TRANSACTION; CREATE TABLE "t0"("c0" INTEGER,"c1" DECIMAL(18,3)); INSERT INTO "t0" VALUES (-533312265, 0.254); @@ -323,8 +290,4 @@ ROLLBACK; SELECT CAST(((24829)+(((0.9767751031140547)*(0.7479400824095245)))) AS DOUBLE) IS NULL; -- error, overflow in conversion -PREPARE SELECT (1 + CAST(l0t0.c0 AS BIGINT)) * scale_up(?, 2) FROM (select 1) AS l0t0(c0); - -PREPARE SELECT DISTINCT ((((CAST(l0t0.c0 AS INT))-(CAST(? AS BIGINT))))*(scale_up(?, ((-438139776)*(-813129345))))) FROM (select 1) AS l0t0(c0); - select interval '1' month * cast(1 as bigint); diff --git a/sql/test/SQLancer/Tests/sqlancer07.test b/sql/test/SQLancer/Tests/sqlancer07.test --- a/sql/test/SQLancer/Tests/sqlancer07.test +++ b/sql/test/SQLancer/Tests/sqlancer07.test @@ -1,15 +1,3 @@ -statement ok -START TRANSACTION - -statement ok -CREATE TABLE "t1" ("c0" DECIMAL(18,3),"c1" BINARY LARGE OBJECT NOT NULL,"c2" DECIMAL(18,3),CONSTRAINT "t1_c1_unique" UNIQUE ("c1")) - -statement error -PREPARE SELECT DISTINCT (SELECT DISTINCT r'|m<v' FROM t1 WHERE ((t1.c0)<(?)) GROUP BY t1.c2, ?), ?, t1.c2 FROM t1 WHERE CAST(? AS BOOLEAN) LIMIT 2103332269785059850 - -statement ok -ROLLBACK - statement ok START TRANSACTION @@ -95,24 +83,6 @@ statement ok START TRANSACTION statement ok -CREATE TABLE "t0" ("c0" BOOLEAN NOT NULL) - -statement ok -CREATE TABLE "t1" ("c0" DECIMAL(18,3)) - -statement ok -CREATE TABLE "t2" ("c0" DECIMAL(18,3),"c2" DATE) - -statement ok -PREPARE (SELECT DISTINCT t0.c0, INTERVAL '1734780053' SECOND FROM t0, t1) UNION ALL (SELECT ?, ? FROM t2) - -statement ok -ROLLBACK - -statement ok -START TRANSACTION - -statement ok CREATE TABLE "t0" ("c0" INTERVAL MONTH NOT NULL,CONSTRAINT "t0_c0_pkey" PRIMARY KEY ("c0"),CONSTRAINT "t0_c0_unique" UNIQUE ("c0"),CONSTRAINT "t0_c0_unique" UNIQUE ("c0")) statement ok @@ -135,25 +105,6 @@ statement ok START TRANSACTION statement ok -CREATE TABLE "t0" ("c0" DATE,"c2" INTEGER) - -statement ok -CREATE TABLE "t1" ("c1" TIMESTAMP,"c2" INTEGER) - -statement ok -CREATE TABLE "t2" ("c0" DATE,"c1" TIMESTAMP,"c2" INTEGER) - -statement ok -PREPARE (SELECT ?, t1.c2 FROM t1, t0 WHERE (SELECT DISTINCT (t1.c2) BETWEEN ASYMMETRIC (?) AND (t1.c2) FROM t1 CROSS JOIN -((SELECT DISTINCT 6.9089063E7, TRUE FROM t2 WHERE TRUE) EXCEPT (SELECT ALL 0.4, FALSE FROM t2, t1 INNER JOIN t0 ON FALSE)) AS sub0 WHERE FALSE)) INTERSECT DISTINCT (SELECT DISTINCT 0.2, ? FROM t0, t2 WHERE ?) - -statement ok -ROLLBACK - -statement ok -START TRANSACTION - -statement ok CREATE TABLE "t0" ("c0" VARCHAR(156) NOT NULL) statement ok @@ -357,18 +308,6 @@ SELECT 1 WHERE (SELECT 1 WHERE FALSE) IS 1 statement ok -PREPARE SELECT 1 WHERE greatest(true, ?) - -statement error -PREPARE SELECT (SELECT ? FROM (select 1) as v1(c0)) - -statement error -PREPARE SELECT ?, CASE 'weHtU' WHEN (values (?)) THEN 'G' END - -statement error -PREPARE SELECT DISTINCT ?, CAST(CASE least(?, r'weHtU') WHEN ? THEN ? WHEN ? THEN ? WHEN (VALUES (?)) THEN r'G' ELSE ? END AS DATE) WHERE (?) IS NOT NULL LIMIT 519007555986016405 - -statement ok START TRANSACTION statement ok @@ -702,12 +641,6 @@ SELECT CAST(((24829)+(((0.97677510311405 ---- False -statement ok -PREPARE SELECT (1 + CAST(l0t0.c0 AS BIGINT)) * scale_up(?, 2) FROM (select 1) AS l0t0(c0) - -statement ok -PREPARE SELECT DISTINCT ((((CAST(l0t0.c0 AS INT))-(CAST(? AS BIGINT))))*(scale_up(?, ((-438139776)*(-813129345))))) FROM (select 1) AS l0t0(c0) - query T rowsort select interval '1' month * cast(1 as bigint) ---- diff --git a/sql/test/SQLancer/Tests/sqlancer08.sql b/sql/test/SQLancer/Tests/sqlancer08.sql --- a/sql/test/SQLancer/Tests/sqlancer08.sql +++ b/sql/test/SQLancer/Tests/sqlancer08.sql @@ -145,10 +145,6 @@ DELETE FROM salesmart WHERE (((CAST(CAST -- Delete all rows ROLLBACK; -PREPARE SELECT round(-'b', ?); -PREPARE SELECT sql_max(+ (0.29353363282850464), round(- (sql_min('-Infinity', ?)), ?)) LIMIT 8535194086169274474; -PREPARE VALUES (CAST(? >> 1.2 AS INTERVAL SECOND)), (interval '1' second); -- error, types decimal(2,1) and sec_interval(13,0) are not equal - START TRANSACTION; CREATE TABLE "sys"."t2" ("tc2" INTERVAL DAY); COPY 7 RECORDS INTO "sys"."t2" FROM stdin USING DELIMITERS E'\t',E'\n','"'; @@ -220,7 +216,4 @@ 94 select round(t2.tc0, 88) from t2; ROLLBACK; -PREPARE (SELECT DISTINCT ((CAST(- (CASE r'' WHEN r'tU1{D^㙝U' THEN 1739172851 WHEN ? THEN -1313600539 WHEN r'X(%4}' THEN NULL WHEN r')帘''舻CD' THEN 95 END) AS BIGINT))&(least(- (-235253756), 64))) -WHERE ((rtrim(r'Z'))LIKE(r'rK'))) UNION ALL (SELECT ALL ? WHERE (scale_down(ifthenelse(TRUE, 18, ?), r'4')) IS NULL); - SELECT round(- (((-443710828)||(1616633099))), 789092170); diff --git a/sql/test/SQLancer/Tests/sqlancer08.test b/sql/test/SQLancer/Tests/sqlancer08.test --- a/sql/test/SQLancer/Tests/sqlancer08.test +++ b/sql/test/SQLancer/Tests/sqlancer08.test @@ -288,15 +288,6 @@ statement ok ROLLBACK statement ok -PREPARE SELECT round(-'b', ?) - -statement ok -PREPARE SELECT sql_max(+ (0.29353363282850464), round(- (sql_min('-Infinity', ?)), ?)) LIMIT 8535194086169274474 - -statement error -PREPARE VALUES (CAST(? >> 1.2 AS INTERVAL SECOND)), (interval '1' second) - -statement ok START TRANSACTION statement ok @@ -436,10 +427,6 @@ select round(t2.tc0, 88) from t2 statement ok ROLLBACK -statement ok -PREPARE (SELECT DISTINCT ((CAST(- (CASE r'' WHEN r'tU1{D^㙝U' THEN 1739172851 WHEN ? THEN -1313600539 WHEN r'X(%4}' THEN NULL WHEN r')帘''舻CD' THEN 95 END) AS BIGINT))&(least(- (-235253756), 64))) -WHERE ((rtrim(r'Z'))LIKE(r'rK'))) UNION ALL (SELECT ALL ? WHERE (scale_down(ifthenelse(TRUE, 18, ?), r'4')) IS NULL) - statement error SELECT round(- (((-443710828)||(1616633099))), 789092170) diff --git a/sql/test/prepare/Tests/All b/sql/test/prepare/Tests/All --- a/sql/test/prepare/Tests/All +++ b/sql/test/prepare/Tests/All @@ -23,3 +23,4 @@ large_prepare_2.SF-1363729 prepare_decimal_float.SF-1675795 decimal_prepare.SF-1655818 bind_with_cast.SF-1720934 +sqlancer_prepare diff --git a/sql/test/prepare/Tests/sqlancer_prepare.SQL.py b/sql/test/prepare/Tests/sqlancer_prepare.SQL.py new file mode 100644 --- /dev/null +++ b/sql/test/prepare/Tests/sqlancer_prepare.SQL.py @@ -0,0 +1,9 @@ +from MonetDBtesting.sqltest import SQLTestCase + +with SQLTestCase() as tc: + # optional or default connection + tc.connect() + with open('sqlancer_prepare.sql') as f: + tc.execute(query=None, client='mclient', stdin=f)\ + .assertMatchStableOut(fout='sqlancer_prepare.stable.out')\ + .assertMatchStableError(ferr='sqlancer_prepare.stable.err') diff --git a/sql/test/prepare/Tests/sqlancer_prepare.sql b/sql/test/prepare/Tests/sqlancer_prepare.sql new file mode 100644 --- /dev/null +++ b/sql/test/prepare/Tests/sqlancer_prepare.sql @@ -0,0 +1,43 @@ +START TRANSACTION; +CREATE TABLE "t1" ("c0" DECIMAL(18,3),"c1" BINARY LARGE OBJECT NOT NULL,"c2" DECIMAL(18,3),CONSTRAINT "t1_c1_unique" UNIQUE ("c1")); +PREPARE SELECT DISTINCT (SELECT DISTINCT r'|m<v' FROM t1 WHERE ((t1.c0)<(?)) GROUP BY t1.c2, ?), ?, t1.c2 FROM t1 WHERE CAST(? AS BOOLEAN) LIMIT 2103332269785059850; + -- Could not determine type for argument number 2 +ROLLBACK; + +START TRANSACTION; +CREATE TABLE "t0" ("c0" BOOLEAN NOT NULL); +CREATE TABLE "t1" ("c0" DECIMAL(18,3)); +CREATE TABLE "t2" ("c0" DECIMAL(18,3),"c2" DATE); +PREPARE (SELECT DISTINCT t0.c0, INTERVAL '1734780053' SECOND FROM t0, t1) UNION ALL (SELECT ?, ? FROM t2); +ROLLBACK; + +START TRANSACTION; +CREATE TABLE "t0" ("c0" DATE,"c2" INTEGER); +CREATE TABLE "t1" ("c1" TIMESTAMP,"c2" INTEGER); +CREATE TABLE "t2" ("c0" DATE,"c1" TIMESTAMP,"c2" INTEGER); +PREPARE (SELECT ?, t1.c2 FROM t1, t0 WHERE (SELECT DISTINCT (t1.c2) BETWEEN ASYMMETRIC (?) AND (t1.c2) FROM t1 CROSS JOIN +((SELECT DISTINCT 6.9089063E7, TRUE FROM t2 WHERE TRUE) EXCEPT (SELECT ALL 0.4, FALSE FROM t2, t1 INNER JOIN t0 ON FALSE)) AS sub0 WHERE FALSE)) INTERSECT DISTINCT (SELECT DISTINCT 0.2, ? FROM t0, t2 WHERE ?); +ROLLBACK; + +PREPARE SELECT 1 WHERE greatest(true, ?); + -- ? should be set to boolean + +PREPARE SELECT (SELECT ? FROM (select 1) as v1(c0)); + -- cannot determine parameter type _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list