Changeset: b68d86bd670f for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/b68d86bd670f
Modified Files:
sql/server/rel_unnest.c
sql/test/SQLancer/Tests/sqlancer22.test
Branch: Jan2022
Log Message:
Look for projections without a back relation, also do a more defensive copy
diffs (36 lines):
diff --git a/sql/server/rel_unnest.c b/sql/server/rel_unnest.c
--- a/sql/server/rel_unnest.c
+++ b/sql/server/rel_unnest.c
@@ -816,8 +816,10 @@ push_up_project(mvc *sql, sql_rel *rel,
{
sql_rel *r = rel->r;
+ assert(is_simple_project(r->op));
if (rel_is_ref(r)) {
- sql_rel *nr = rel_project(sql->sa, rel_dup(r->l),
exps_copy(sql, r->exps));
+ sql_rel *nr = rel_project(sql->sa, r->l ? rel_dup(r->l) : NULL,
exps_copy(sql, r->exps));
+ nr->r = exps_copy(sql, r->r);
rel_destroy(r);
rel->r = r = nr;
}
diff --git a/sql/test/SQLancer/Tests/sqlancer22.test
b/sql/test/SQLancer/Tests/sqlancer22.test
--- a/sql/test/SQLancer/Tests/sqlancer22.test
+++ b/sql/test/SQLancer/Tests/sqlancer22.test
@@ -71,3 +71,17 @@ CREATE VIEW v2(vc0, vc1, vc2) AS (WITH c
statement ok
ROLLBACK
+
+statement ok
+START TRANSACTION
+
+statement ok
+CREATE TABLE t0(c0 INT)
+
+query I nosort
+with x(x) as (select 4) select 2 > all(select 3 from t0 full outer join
(values (x.x)) as y(y) on false) from x
+----
+0
+
+statement ok
+ROLLBACK
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list