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

Reply via email to