Changeset: 8df6c4945855 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/8df6c4945855 Modified Files: sql/server/rel_optimizer.c sql/test/BugTracker-2017/Tests/sqlitelogictest-aggregation-having-avg.Bug-6428.test Branch: Jul2021 Log Message:
fix rel_groupby_distinct optimizer diffs (38 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 @@ -6119,12 +6119,10 @@ rel_groupby_distinct(visitor *v, sql_rel list_append(exps, darg); darg = exp_ref(v->sql, darg); arg->h->data = darg; - if (!exp_match_list(ngbe, gbe)) { /* if the grouping columns match don't create an extra grouping */ - l = rel->l = rel_groupby(v->sql, rel->l, gbe); - l->exps = exps; - set_processed(l); - rel->r = ngbe; - } + l = rel->l = rel_groupby(v->sql, rel->l, gbe); + l->exps = exps; + set_processed(l); + rel->r = ngbe; rel->exps = nexps; set_nodistinct(distinct); append(nexps, distinct); diff --git a/sql/test/BugTracker-2017/Tests/sqlitelogictest-aggregation-having-avg.Bug-6428.test b/sql/test/BugTracker-2017/Tests/sqlitelogictest-aggregation-having-avg.Bug-6428.test --- a/sql/test/BugTracker-2017/Tests/sqlitelogictest-aggregation-having-avg.Bug-6428.test +++ b/sql/test/BugTracker-2017/Tests/sqlitelogictest-aggregation-having-avg.Bug-6428.test @@ -11,9 +11,11 @@ PLAN SELECT - col0 AS col1 FROM tab0 AS project ( | select ( | | group by ( -| | | select ( -| | | | table("sys"."tab0") [ "tab0"."col0" as "cor0"."col0", "tab0"."col1" as "cor0"."col1" ] COUNT -| | | ) [ "cor0"."col0" * = int "NULL" ] +| | | group by ( +| | | | select ( +| | | | | table("sys"."tab0") [ "tab0"."col0" as "cor0"."col0", "tab0"."col1" as "cor0"."col1" ] COUNT +| | | | ) [ "cor0"."col0" * = int "NULL" ] +| | | ) [ "cor0"."col1", "cor0"."col0" ] [ "cor0"."col1", "cor0"."col0" ] | | ) [ "cor0"."col1", "cor0"."col0" ] [ "cor0"."col1", "cor0"."col0", "sys"."avg" no nil ("cor0"."col0") as "%1"."%1" ] | ) [ "sys"."sql_add"(double["sys"."sql_neg"("cor0"."col1")], "%1"."%1") ! * = double "NULL" ] ) [ "sys"."sql_neg"("cor0"."col0") as "col1" ] _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list