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

jakevin 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 2683b1e8c32 [test](Nereids): add test for scalar agg (#28712)
2683b1e8c32 is described below

commit 2683b1e8c32a3c0cd0d6dea61edf778c716aacd2
Author: jakevin <jakevin...@gmail.com>
AuthorDate: Wed Dec 20 17:35:04 2023 +0800

    [test](Nereids): add test for scalar agg (#28712)
---
 .../PushDownFilterThroughAggregationTest.java      | 33 +++++++++++++++++++---
 1 file changed, 29 insertions(+), 4 deletions(-)

diff --git 
a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/PushDownFilterThroughAggregationTest.java
 
b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/PushDownFilterThroughAggregationTest.java
index 830921b9a2b..36cb8cee8d4 100644
--- 
a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/PushDownFilterThroughAggregationTest.java
+++ 
b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/PushDownFilterThroughAggregationTest.java
@@ -27,6 +27,8 @@ import 
org.apache.doris.nereids.trees.expressions.NamedExpression;
 import org.apache.doris.nereids.trees.expressions.Slot;
 import org.apache.doris.nereids.trees.expressions.StatementScopeIdGenerator;
 import org.apache.doris.nereids.trees.expressions.functions.agg.Max;
+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.plans.logical.LogicalOlapScan;
 import org.apache.doris.nereids.trees.plans.logical.LogicalPlan;
@@ -91,6 +93,28 @@ public class PushDownFilterThroughAggregationTest implements 
MemoPatternMatchSup
                 );
     }
 
+    @Test
+    void scalarAgg() {
+        LogicalPlan plan = new LogicalPlanBuilder(scan)
+                .agg(ImmutableList.of(), ImmutableList.of((new 
Sum(scan.getOutput().get(0))).alias("sum")))
+                .filter(new If(Literal.of(false), Literal.of(false), 
Literal.of(false)))
+                .project(ImmutableList.of(0))
+                .build();
+
+        PlanChecker.from(MemoTestUtils.createConnectContext(), plan)
+                .applyTopDown(new PushDownFilterThroughAggregation())
+                .printlnTree()
+                .matches(
+                        logicalProject(
+                                logicalFilter(
+                                        logicalAggregate(
+                                                logicalOlapScan()
+                                        )
+                                )
+                        )
+                );
+    }
+
     /*-
      * origin plan:
      *                project
@@ -174,7 +198,8 @@ public class PushDownFilterThroughAggregationTest 
implements MemoPatternMatchSup
                                 logicalAggregate(
                                         logicalFilter(
                                                 logicalRepeat()
-                                        ).when(filter -> 
filter.getConjuncts().equals(ImmutableSet.of(filterPredicateId)))
+                                        ).when(filter -> filter.getConjuncts()
+                                                
.equals(ImmutableSet.of(filterPredicateId)))
                                 )
                         )
                 );
@@ -195,9 +220,9 @@ public class PushDownFilterThroughAggregationTest 
implements MemoPatternMatchSup
                 .matches(
                         logicalProject(
                                 logicalFilter(
-                                    logicalAggregate(
-                                            logicalRepeat()
-                                    )
+                                        logicalAggregate(
+                                                logicalRepeat()
+                                        )
                                 ).when(filter -> 
filter.getConjuncts().equals(ImmutableSet.of(filterPredicateId)))
                         )
                 );


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

Reply via email to