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

Reply via email to