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