Changeset: 85dc3217a49d for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=85dc3217a49d Modified Files: sql/server/rel_optimizer.c Branch: clean-projects Log Message:
rel_remove_empty_select acts on joins too diffs (43 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 @@ -9710,8 +9710,7 @@ optimize_rel(mvc *sql, sql_rel *rel, int rel = rel_join_order(&v, rel); rel = rel_visitor_bottomup(&v, rel, &rel_push_join_down_union); /* rel_join_order may introduce empty selects */ - if (gp.cnt[op_select]) - rel = rel_visitor_bottomup(&ev, rel, &rel_remove_empty_select); + rel = rel_visitor_bottomup(&ev, rel, &rel_remove_empty_select); if (level <= 0) rel = rel_visitor_bottomup(&v, rel, &rel_join_push_exps_down); @@ -9722,8 +9721,7 @@ optimize_rel(mvc *sql, sql_rel *rel, int rel = rel_visitor_topdown(&v, rel, &rel_push_count_down); if (level <= 0) { rel = rel_visitor_topdown(&v, rel, &rel_push_select_down); - if (gp.cnt[op_select]) - rel = rel_visitor_bottomup(&ev, rel, &rel_remove_empty_select); + rel = rel_visitor_bottomup(&ev, rel, &rel_remove_empty_select); rel = rel_visitor_topdown(&v, rel, &rel_push_join_down); } @@ -9750,8 +9748,7 @@ optimize_rel(mvc *sql, sql_rel *rel, int because pushing down select expressions makes rel_join_order more difficult */ if (gp.cnt[op_select] || gp.cnt[op_join] || gp.cnt[op_semi] || gp.cnt[op_anti]) { rel = rel_visitor_topdown(&v, rel, &rel_push_select_down); - if (gp.cnt[op_select]) - rel = rel_visitor_bottomup(&ev, rel, &rel_remove_empty_select); + rel = rel_visitor_bottomup(&ev, rel, &rel_remove_empty_select); } if (gp.cnt[op_join] || gp.cnt[op_left] || gp.cnt[op_right] || gp.cnt[op_full] || gp.cnt[op_semi] || gp.cnt[op_anti]) { @@ -9781,8 +9778,7 @@ optimize_rel(mvc *sql, sql_rel *rel, int gp.cnt[op_semi] || gp.cnt[op_anti] || gp.cnt[op_select]) { rel = rel_visitor_bottomup(&v, rel, &rel_push_func_down); rel = rel_visitor_topdown(&v, rel, &rel_push_select_down); - if (gp.cnt[op_select]) - rel = rel_visitor_bottomup(&ev, rel, &rel_remove_empty_select); + rel = rel_visitor_bottomup(&ev, rel, &rel_remove_empty_select); } if (gp.cnt[op_topn] || gp.cnt[op_sample]) _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list