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

If table is readonly, then the empty evaluation can always be made


diffs (25 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
@@ -8949,8 +8949,8 @@ rel_merge_table_rewrite(visitor *v, sql_
                                                int skip = 0;
                                                list *exps = NULL;
 
-                                               /* do not include empty 
partitions. Don't skip when storage_based_opt is not applicable */
-                                               if (v->storage_based_opt && pt 
&& isTable(pt) && pt->access == TABLE_READONLY && 
!store_funcs.count_col(v->sql->session->tr, pt->columns.set->h->data, 1))
+                                               /* Do not include empty 
partitions */
+                                               if (pt && isTable(pt) && 
pt->access == TABLE_READONLY && !store_funcs.count_col(v->sql->session->tr, 
pt->columns.set->h->data, 1))
                                                        continue;
 
                                                prel = rel_rename_part(v->sql, 
prel, tname, t);
@@ -9537,8 +9537,8 @@ rel_remove_union_partitions(visitor *v, 
 static sql_rel *
 optimize_rel(mvc *sql, sql_rel *rel, int *g_changes, int level, bool 
value_based_opt, bool storage_based_opt)
 {
-       visitor v = { .sql = sql, .value_based_opt = value_based_opt, 
storage_based_opt = storage_based_opt },
-                       ev = { .sql = sql, .value_based_opt = value_based_opt, 
storage_based_opt = storage_based_opt };
+       visitor v = { .sql = sql, .value_based_opt = value_based_opt, 
.storage_based_opt = storage_based_opt },
+                       ev = { .sql = sql, .value_based_opt = value_based_opt, 
.storage_based_opt = storage_based_opt };
        global_props gp = (global_props) {.cnt = {0},};
        rel_properties(sql, &gp, rel);
 
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to