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

Reply via email to