Changeset: 2fb5e9854224 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2fb5e9854224
Modified Files:
sql/server/rel_optimizer.c
Branch: Apr2019
Log Message:
only push down groupby into side which is allready reduced by other joins
and/or selects
diffs (22 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
@@ -4007,6 +4007,8 @@ gen_push_groupby_down(int *changes, mvc
int left = 1;
list *aggrs, *gbe;
+ if (!is_identity(gb, jl) && !is_identity(gb, jr))
+ return rel;
if (jl->op == op_project &&
(e = list_find_exp( jl->exps, gb)) != NULL &&
find_prop(e->p, PROP_HASHCOL) != NULL) {
@@ -4021,6 +4023,9 @@ gen_push_groupby_down(int *changes, mvc
return rel;
}
+ if ((left && is_base(jl->op)) || (!left && is_base(jr->op)))
+ return rel;
+
/* only add aggr (based on left/right), and repeat the group by
column */
aggrs = sa_list(sql->sa);
if (rel->exps) for (n = rel->exps->h; n; n = n->next) {
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list