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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list