Changeset: acb1485746ad for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/acb1485746ad
Modified Files:
gdk/gdk_bbp.c
monetdb5/optimizer/opt_pushselect.c
sql/test/prepare/Tests/sqlancer_prepare.sql
sql/test/prepare/Tests/sqlancer_prepare.stable.out
sql/test/prepare/Tests/sqlancer_prepare.stable.out.int128
Branch: Jan2022
Log Message:
merged with jul2021
diffs (66 lines):
diff --git a/monetdb5/optimizer/opt_pushselect.c
b/monetdb5/optimizer/opt_pushselect.c
--- a/monetdb5/optimizer/opt_pushselect.c
+++ b/monetdb5/optimizer/opt_pushselect.c
@@ -886,7 +886,11 @@ OPTpushselectImplementation(Client cntxt
getArg(u, 3) = getArg(q,2); /* update ids */
//getArg(u, 4) = getArg(s,0);
p = pushArgument(mb, u, getArg(s,0)); /* push
at end */
+ /* make sure to resolve again */
+ u->token = ASSIGNsymbol;
u->typechk = TYPE_UNKNOWN;
+ u->fcn = NULL;
+ u->blk = NULL;
pushInstruction(mb,u);
oclean[i] = 1;
continue;
diff --git a/sql/test/prepare/Tests/sqlancer_prepare.sql
b/sql/test/prepare/Tests/sqlancer_prepare.sql
--- a/sql/test/prepare/Tests/sqlancer_prepare.sql
+++ b/sql/test/prepare/Tests/sqlancer_prepare.sql
@@ -83,3 +83,11 @@ ROLLBACK;
PREPARE WITH y(a,b) AS (SELECT 1, ?) SELECT "json"."filter"(JSON '"a"', y.b)
FROM y CROSS JOIN ((SELECT 1, 4) EXCEPT (SELECT 1,2)) x(x,y);
PREPARE WITH y(a,b) AS (SELECT 1, ?) SELECT "json"."filter"(JSON '"a"', y.b)
FROM ((SELECT 1, 4) EXCEPT (SELECT 1,2)) x(x,y) CROSS JOIN y;
+
+START TRANSACTION;
+create table deleteall (i integer, j integer);
+insert into deleteall (select a,a as b from generate_series(cast(1 as
integer),10000) as a(a));
+set optimizer='sequential_pipe';
+prepare select count(*) from deleteall where j in
(2001,2007,2016,2028,2037,2047,2053,2059,2063,2067,2076,2087,2094,2099,2110,2115,2124,2135,2142,2147);
+EXEC **();
+ROLLBACK;
diff --git a/sql/test/prepare/Tests/sqlancer_prepare.stable.out
b/sql/test/prepare/Tests/sqlancer_prepare.stable.out
--- a/sql/test/prepare/Tests/sqlancer_prepare.stable.out
+++ b/sql/test/prepare/Tests/sqlancer_prepare.stable.out
@@ -170,3 +170,14 @@
% 4, 1, 1, 0, 3, 3 # length
[ "json", 0, 0, "", "%15", "%15" ]
[ "clob", 0, 0, NULL, NULL, NULL ]
+[ 9999 ]
+% .prepare, .prepare, .prepare, .prepare, .prepare,
.prepare # table_name
+% type, digits, scale, schema, table, column # name
+% varchar, int, int, str, str, str # type
+% 6, 2, 1, 0, 2, 2 # length
+[ "bigint", 64, 0, "", "%2", "%2" ]
+% .%2 # table_name
+% %2 # name
+% bigint # type
+% 2 # length
+[ 20 ]
diff --git a/sql/test/prepare/Tests/sqlancer_prepare.stable.out.int128
b/sql/test/prepare/Tests/sqlancer_prepare.stable.out.int128
--- a/sql/test/prepare/Tests/sqlancer_prepare.stable.out.int128
+++ b/sql/test/prepare/Tests/sqlancer_prepare.stable.out.int128
@@ -161,3 +161,14 @@
% 4, 1, 1, 0, 3, 3 # length
[ "json", 0, 0, "", "%15", "%15" ]
[ "clob", 0, 0, NULL, NULL, NULL ]
+[ 9999 ]
+% .prepare, .prepare, .prepare, .prepare, .prepare,
.prepare # table_name
+% type, digits, scale, schema, table, column # name
+% varchar, int, int, str, str, str # type
+% 6, 2, 1, 0, 2, 2 # length
+[ "bigint", 64, 0, "", "%2", "%2" ]
+% .%2 # table_name
+% %2 # name
+% bigint # type
+% 2 # length
+[ 20 ]
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]