Changeset: 33cd98758bd8 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/33cd98758bd8 Modified Files: sql/server/rel_optimizer.c Branch: default Log Message:
also push select into semi joins diffs (21 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 @@ -4452,7 +4452,7 @@ rel_push_select_down(visitor *v, sql_rel if (pl && pl->op != op_ddl && !exps_have_unsafe(r->exps, 0)) { /* introduce selects under the project (if needed) */ set_processed(pl); - if (pl && (is_select(pl->op) || is_join(pl->op)) && !pl->exps) + if (pl && (is_select(pl->op) || is_join(pl->op) || is_semi(pl->op)) && !pl->exps) pl->exps = sa_list(v->sql->sa); for (n = exps->h; n;) { node *next = n->next; @@ -4463,7 +4463,7 @@ rel_push_select_down(visitor *v, sql_rel /* can we move it down */ if (ne && ne != e && pl->exps) { - if (!(is_select(pl->op) && is_join(pl->op)) || rel_is_ref(pl)) + if (!(is_select(pl->op) && is_join(pl->op) && is_semi(pl->op)) || rel_is_ref(pl)) r->l = pl = rel_select(v->sql->sa, pl, NULL); rel_select_add_exp(v->sql->sa, pl, ne); list_remove_node(exps, NULL, n); _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org