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

Reply via email to