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]

Reply via email to