Changeset: d072d8dc1a41 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d072d8dc1a41
Modified Files:
        sql/server/rel_optimizer.c
Branch: default
Log Message:

add simple condition reducing optimization


diffs (28 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
@@ -9799,11 +9799,24 @@ rel_keep_renames(mvc *sql, sql_rel *rel)
        return rel;
 }
 
+static int
+need_optimization(sql_rel *rel)
+{
+       if (rel->card <= CARD_ATOM && is_simple_project(rel->op) && !rel->l)
+               return 0;
+       else if (rel->card <= CARD_ATOM && is_simple_project(rel->op))
+               return need_optimization(rel->l);
+       return 1;
+}
+
 sql_rel *
 rel_optimizer(mvc *sql, sql_rel *rel, int value_based_opt, int 
storage_based_opt)
 {
        int level = 0, changes = 1;
 
+       if (!need_optimization(rel))
+               return rel;
+
        rel = rel_keep_renames(sql, rel);
        for( ;rel && level < 20 && changes; level++)
                rel = optimize_rel(sql, rel, &changes, level, value_based_opt, 
storage_based_opt);
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to