Changeset: 19faaa8e86ab for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/19faaa8e86ab
Modified Files:
        sql/server/rel_optimizer.c
Branch: default
Log Message:

Keep looking for more optimizations


diffs (24 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
@@ -9810,6 +9810,7 @@ need_optimization(mvc *sql, sql_rel *rel
 {
        if (rel && rel->card <= CARD_ATOM) {
                if (is_insert(rel->op)) {
+                       int opt = 0;
                        sql_rel *l = (sql_rel *) rel->l;
 
                        if (is_basetable(l->op)) {
@@ -9820,9 +9821,9 @@ need_optimization(mvc *sql, sql_rel *rel
                                assert(!isRemote(t) && !isReplicaTable(t));
                                /* If the plan has a merge table or a child of 
a partitioned one, then optimization cannot be skipped */
                                if (isMergeTable(t) || (t->s && t->s->parts && 
(pt = partition_find_part(sql->session->tr, t, NULL))))
-                                       return 1;
-                       }
-                       return rel->r ? need_optimization(sql, rel->r) : 0;
+                                       opt = 1;
+                       }
+                       return rel->r ? MAX(need_optimization(sql, rel->r), 
opt) : opt;
                }
                if (is_simple_project(rel->op))
                        return rel->l ? need_optimization(sql, rel->l) : 0;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to