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