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 checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list