Changeset: 06c2ebf256b0 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/06c2ebf256b0
Modified Files:
sql/server/rel_optimize_others.c
Branch: default
Log Message:
reduced call too rel_add_projects (only needed for union cases)
diffs (39 lines):
diff --git a/sql/server/rel_optimize_others.c b/sql/server/rel_optimize_others.c
--- a/sql/server/rel_optimize_others.c
+++ b/sql/server/rel_optimize_others.c
@@ -1150,14 +1150,15 @@ rel_add_projects(visitor *v, sql_rel *re
}
static sql_rel *
-rel_dce_(visitor *v, sql_rel *rel, bool partial)
+rel_dce_(visitor *v, sql_rel *rel, bool partial, bool has_sets)
{
list *refs = sa_list(v->sql->sa);
if (v->opt >= 0 && rel)
v->opt = rel->opt+1;
rel_dce_refs(v->sql, rel, refs);
- rel = rel_add_projects(v, rel);
+ if(has_sets)
+ rel = rel_add_projects(v, rel);
if (v->opt >= 0 && rel)
v->opt = rel->opt+1;
rel_used(rel);
@@ -1179,7 +1180,7 @@ sql_rel *
rel_dce(visitor *v, global_props *gp, sql_rel *rel)
{
(void) gp;
- return rel_dce_(v, rel, false);
+ return rel_dce_(v, rel, false, gp && (gp->cnt[op_munion] ||
gp->cnt[op_except] || gp->cnt[op_inter]));
}
/* keep export for other projects */
@@ -1187,7 +1188,7 @@ sql_rel *
rel_deadcode_elimination(mvc *sql, sql_rel *rel)
{
visitor v = {.sql = sql, .opt = rel->opt };
- return rel_dce_(&v, rel, true);
+ return rel_dce_(&v, rel, true, true);
}
run_optimizer
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]