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