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 -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org