This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new a4a991207b [fix](agg)fix group by constant value bug (#13827)
a4a991207b is described below
commit a4a991207bd481bb3bb96921e85532eaf40633bd
Author: starocean999 <[email protected]>
AuthorDate: Thu Nov 3 10:26:59 2022 +0800
[fix](agg)fix group by constant value bug (#13827)
* [fix](agg)fix group by constant value bug
* keep only one const grouping exprs if no agg exprs
---
.../java/org/apache/doris/analysis/SelectStmt.java | 7 ++++++-
.../sql/group_by/runConstantGroupBy_order.out | 24 ----------------------
2 files changed, 6 insertions(+), 25 deletions(-)
diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/SelectStmt.java
b/fe/fe-core/src/main/java/org/apache/doris/analysis/SelectStmt.java
index f522dcd898..55aebf9280 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/SelectStmt.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/SelectStmt.java
@@ -1092,8 +1092,13 @@ public class SelectStmt extends QueryStmt {
substituteOrdinalsAliases(groupingExprs, "GROUP BY", analyzer);
- if (!groupByClause.isGroupByExtension()) {
+ if (!groupByClause.isGroupByExtension() &&
!groupingExprs.isEmpty()) {
+ ArrayList<Expr> tempExprs = new ArrayList<>(groupingExprs);
groupingExprs.removeIf(Expr::isConstant);
+ if (groupingExprs.isEmpty() && aggExprs.isEmpty()) {
+ // should keep at least one expr to make the result correct
+ groupingExprs.add(tempExprs.get(0));
+ }
}
if (groupingInfo != null) {
diff --git
a/regression-test/data/trino_p0/sql/group_by/runConstantGroupBy_order.out
b/regression-test/data/trino_p0/sql/group_by/runConstantGroupBy_order.out
index 3e7855ddba..6a880dbc0a 100644
--- a/regression-test/data/trino_p0/sql/group_by/runConstantGroupBy_order.out
+++ b/regression-test/data/trino_p0/sql/group_by/runConstantGroupBy_order.out
@@ -1,28 +1,4 @@
-- This file is automatically generated. You should know what you did if you
want to edit this
-- !runConstantGroupBy_order --
2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]