Changeset: 76a0be08c624 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/76a0be08c624
Modified Files:
sql/server/rel_statistics.c
Branch: properties
Log Message:
Use inplace projection
diffs (25 lines):
diff --git a/sql/server/rel_statistics.c b/sql/server/rel_statistics.c
--- a/sql/server/rel_statistics.c
+++ b/sql/server/rel_statistics.c
@@ -543,7 +543,7 @@ rel_get_statistics(visitor *v, sql_rel *
r->exps = exps_exp_visitor_bottomup(v, r, r->exps, 0,
&rel_propagate_statistics, false);
}
- for (node *n = rel->exps->h ; n && !can_be_pruned ; n =
n->next) {
+ for (node *n = rel->exps->h ; n ; n = n->next) {
can_be_pruned |= rel_setop_get_statistics(v->sql, rel,
l->exps, r->exps, n->data, i);
i++;
}
@@ -557,9 +557,9 @@ rel_get_statistics(visitor *v, sql_rel *
exp_prop_alias(v->sql->sa, a, e);
n->data = a;
}
- rel = rel_project(v->sql->sa, NULL, rel->exps);
- rel = rel_select(v->sql->sa, rel,
exp_atom_bool(v->sql->sa, 0));
- rel = rel_project(v->sql->sa, rel,
rel_projections(v->sql, rel, NULL, 1, 1));
+ sql_rel *l = rel_project(v->sql->sa, NULL, rel->exps);
+ l = rel_select(v->sql->sa, l, exp_atom_bool(v->sql->sa,
0));
+ rel = rel_inplace_project(v->sql->sa, rel, l,
rel_projections(v->sql, l, NULL, 1, 1));
}
} break;
case op_join:
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list