Changeset: 654fbbb9b555 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/654fbbb9b555
Modified Files:
sql/server/rel_optimizer.c
Branch: default
Log Message:
mist a change too push down selects just because lower level had no expressions
jet.
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,6 +4452,8 @@ 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)
+ pl->exps = sa_list(v->sql->sa);
for (n = exps->h; n;) {
node *next = n->next;
sql_exp *e = n->data, *ne = NULL;
@@ -4461,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) ||
rel_is_ref(pl))
+ if (!(is_select(pl->op) &&
is_join(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 -- [email protected]
To unsubscribe send an email to [email protected]