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