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

Reply via email to