This is an automated email from the ASF dual-hosted git repository.

yiguolei pushed a commit to branch branch-2.1
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-2.1 by this push:
     new 4d1f4fb5d2b branch-2.1: [fix](nereids)EliminateGroupBy rule should 
keep output's datatype unchanged #45359 (#45399)
4d1f4fb5d2b is described below

commit 4d1f4fb5d2b5b0ef093d13f889b7d4c9a65cf32e
Author: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Mon Dec 16 14:58:09 2024 +0800

    branch-2.1: [fix](nereids)EliminateGroupBy rule should keep output's 
datatype unchanged #45359 (#45399)
    
    Cherry-picked from #45359
    
    Co-authored-by: starocean999 <li...@selectdb.com>
---
 .../apache/doris/nereids/rules/rewrite/EliminateGroupBy.java   | 10 +++-------
 .../doris/nereids/rules/rewrite/EliminateGroupByTest.java      |  1 +
 2 files changed, 4 insertions(+), 7 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/EliminateGroupBy.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/EliminateGroupBy.java
index 48c83ff7c45..f007cc498e8 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/EliminateGroupBy.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/EliminateGroupBy.java
@@ -30,7 +30,7 @@ import 
org.apache.doris.nereids.trees.expressions.functions.agg.Max;
 import org.apache.doris.nereids.trees.expressions.functions.agg.Min;
 import org.apache.doris.nereids.trees.expressions.functions.agg.Sum;
 import org.apache.doris.nereids.trees.expressions.functions.scalar.If;
-import org.apache.doris.nereids.trees.expressions.literal.Literal;
+import org.apache.doris.nereids.trees.expressions.literal.BigIntLiteral;
 import org.apache.doris.nereids.trees.plans.Plan;
 import org.apache.doris.nereids.util.ExpressionUtils;
 import org.apache.doris.nereids.util.PlanUtils;
@@ -84,12 +84,8 @@ public class EliminateGroupBy extends OneRewriteRuleFactory {
                                         .castIfNotSameType(f.child(0), 
f.getDataType()), ne.getName()));
                             } else if (f instanceof Count) {
                                 newOutput.add((NamedExpression) 
ne.withChildren(
-                                        new If(
-                                            new IsNull(f.child(0)),
-                                            Literal.of(0),
-                                            Literal.of(1)
-                                        )
-                                ));
+                                        new If(new IsNull(f.child(0)), new 
BigIntLiteral(0),
+                                                new BigIntLiteral(1))));
                             } else {
                                 throw new IllegalStateException("Unexpected 
aggregate function: " + f);
                             }
diff --git 
a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/EliminateGroupByTest.java
 
b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/EliminateGroupByTest.java
index 0b6d2f199fc..70eb8e4a470 100644
--- 
a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/EliminateGroupByTest.java
+++ 
b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/EliminateGroupByTest.java
@@ -94,6 +94,7 @@ class EliminateGroupByTest extends TestWithFeService 
implements MemoPatternMatch
                         logicalEmptyRelation().when(p -> 
p.getProjects().get(0).toSql().equals("id")
                                 && p.getProjects().get(1).toSql()
                                 .equals("if(age IS NULL, 0, 1) AS `if(age IS 
NULL, 0, 1)`")
+                                && 
p.getProjects().get(1).getDataType().isBigIntType()
                         )
                 );
     }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to