Changeset: 62e78c75e405 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/62e78c75e405
Modified Files:
        sql/server/rel_optimizer.c
Branch: antipush
Log Message:

Don't push up on single joins or selects


diffs (17 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
@@ -4807,10 +4807,10 @@ point_select_on_unique_column(sql_rel *r
 static sql_rel *
 rel_push_select_up(visitor *v, sql_rel *rel)
 {
-       if ((is_join(rel->op) || is_semi(rel->op)) && !rel_is_ref(rel)) {
+       if ((is_join(rel->op) || is_semi(rel->op)) && !rel_is_ref(rel) && 
!is_single(rel)) {
                sql_rel *l = rel->l, *r = rel->r;
-               bool can_pushup_left = is_select(l->op) && !rel_is_ref(l),
-                        can_pushup_right = is_select(r->op) && !rel_is_ref(r) 
&& !is_semi(rel->op);
+               bool can_pushup_left = is_select(l->op) && !rel_is_ref(l) && 
!is_single(l),
+                        can_pushup_right = is_select(r->op) && !rel_is_ref(r) 
&& !is_single(r) && !is_semi(rel->op);
 
                if (can_pushup_left || can_pushup_right) {
                        if (can_pushup_left)
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to