Changeset: 614c76873351 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/614c76873351
Modified Files:
sql/server/rel_optimize_others.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: default
Log Message:
Don't propagate properties again
diffs (62 lines):
diff --git a/sql/server/rel_optimize_others.c b/sql/server/rel_optimize_others.c
--- a/sql/server/rel_optimize_others.c
+++ b/sql/server/rel_optimize_others.c
@@ -95,7 +95,6 @@ exps_push_down_prj(mvc *sql, list *exps,
narg = exp_push_down_prj(sql, arg, f, t);
if (!narg)
return NULL;
- narg = exp_propagate(sql->sa, narg, arg);
append(nl, narg);
}
return nl;
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
@@ -85,3 +85,9 @@ PREPARE WITH y(a,b) AS (SELECT 1, ?) SEL
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;
PREPARE SELECT 1 FROM (SELECT 1) x(x) LEFT OUTER JOIN (SELECT DISTINCT ?) y(y)
ON (SELECT TRUE FROM (SELECT 1) z(z)); --error while unnesting because of
unknown type
+
+START TRANSACTION;
+create or replace function mybooludf(a bool) returns bool return a;
+PREPARE (SELECT ?) EXCEPT (SELECT 'a' FROM (SELECT 1) x(x) JOIN ((SELECT
FALSE) EXCEPT (SELECT ?)) y(y) ON sys.mybooludf(y.y));
+EXEC **('b',true);
+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
@@ -161,3 +161,15 @@
% 4, 1, 1, 0, 3, 3 # length
[ "json", 0, 0, "", "%15", "%15" ]
[ "clob", 0, 0, NULL, NULL, NULL ]
+% .prepare, .prepare, .prepare, .prepare, .prepare,
.prepare # table_name
+% type, digits, scale, schema, table, column # name
+% varchar, int, int, varchar, varchar, varchar # type
+% 7, 1, 1, 0, 3, 3 # length
+[ "char", 1, 0, "", "%22", "%14" ]
+[ "char", 1, 0, NULL, NULL, NULL ]
+[ "boolean", 1, 0, NULL, NULL, NULL ]
+% .%22 # table_name
+% %14 # name
+% char # type
+% 1 # length
+[ "b" ]
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,15 @@
% 4, 1, 1, 0, 3, 3 # length
[ "json", 0, 0, "", "%15", "%15" ]
[ "clob", 0, 0, NULL, NULL, NULL ]
+% .prepare, .prepare, .prepare, .prepare, .prepare,
.prepare # table_name
+% type, digits, scale, schema, table, column # name
+% varchar, int, int, varchar, varchar, varchar # type
+% 7, 1, 1, 0, 3, 3 # length
+[ "char", 1, 0, "", "%22", "%14" ]
+[ "char", 1, 0, NULL, NULL, NULL ]
+[ "boolean", 1, 0, NULL, NULL, NULL ]
+% .%22 # table_name
+% %14 # name
+% char # type
+% 1 # length
+[ "b" ]
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]