Changeset: 724b1d5f4601 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/724b1d5f4601
Modified Files:
sql/server/rel_optimizer.c
Branch: scatter
Log Message:
merged with Jul2021
diffs (33 lines):
diff --git a/sql/server/rel_optimizer.c b/sql/server/rel_optimizer.c
--- a/sql/server/rel_optimizer.c
+++ b/sql/server/rel_optimizer.c
@@ -4921,10 +4921,8 @@ rel_push_semijoin_down_or_up(visitor *v,
return rel;
if (right && is_left(lop))
return rel;
- nsexps = rel->exps;
- rel->exps = NULL; /* prepare to delete relation */
- njexps = l->exps;
- l->exps = NULL;
+ nsexps = exps_copy(v->sql, rel->exps);
+ njexps = exps_copy(v->sql, l->exps);
if (left)
l = rel_crossproduct(v->sql->sa, rel_dup(ll),
rel_dup(r), op);
else
diff --git a/sql/test/BugTracker-2021/Tests/batappend-undefined.Bug-7130.test
b/sql/test/BugTracker-2021/Tests/batappend-undefined.Bug-7130.test
--- a/sql/test/BugTracker-2021/Tests/batappend-undefined.Bug-7130.test
+++ b/sql/test/BugTracker-2021/Tests/batappend-undefined.Bug-7130.test
@@ -55,6 +55,13 @@ statement error GDK reported error: BATs
select (select (select 1 where subq_0.c0 = (select subq_0.c1 from t_qh)) from
(select 320, 1) subq_0(c0,c1)) from (select 2) subq_0(c3)
statement error GDK reported error: BATsubcross: more than one match
+select 1 from t_qh left outer join (select 2) as subq_0(c1) on EXISTS(select 1
from t_qh as ref_6 where 2 = (select 1 from t_qh where ref_6.c_f = 1 or
subq_0.c1 is NULL))
+
+statement error GDK reported error: BATsubcross: more than one match
+select EXISTS(select 1 from t_qh left outer join (select cast(2 as INTEGER)
from t_qh) as subq_0(c1) on true <> EXISTS(select 1 from t_qh as ref_6 where 2 <
+(select subq_0.c1 as c0 from t_qh where (1 <> ref_6.c_f) or (subq_0.c1 is
NULL)))) from (select 30 from t_qh) as subq_0(c1)
+
+statement error GDK reported error: BATsubcross: more than one match
select EXISTS(select 1 from t_qh left outer join (select cast(2 as INTEGER)
from t_qh) as subq_0(c1) on 2 <> (select 1 from t_qh where EXISTS(select 3 as
c0 from t_qh as ref_6 where 2 <
(select subq_0.c1 as c0 from t_qh where (1 <> ref_6.c_f) or (subq_0.c1 is
NULL))))) from (select 30 from t_qh) as subq_0(c1)
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list