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

morrysnow 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 256221a574d [fix](Nereids) normalize aggregate should not push down 
lambda's param (#37109) (#37285)
256221a574d is described below

commit 256221a574d0061f0da0662968eeb63512c3f4b5
Author: morrySnow <101034200+morrys...@users.noreply.github.com>
AuthorDate: Fri Jul 5 09:33:57 2024 +0800

    [fix](Nereids) normalize aggregate should not push down lambda's param 
(#37109) (#37285)
    
    pick from master #37109
    
    ArrayItemSlot should not be inputSlot
---
 .../java/org/apache/doris/nereids/trees/expressions/Expression.java   | 4 +++-
 .../nereids_rules_p0/normalize_aggregate/normalize_aggregate_test.out | 3 +++
 .../normalize_aggregate/normalize_aggregate_test.groovy               | 4 ++++
 3 files changed, 10 insertions(+), 1 deletion(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/Expression.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/Expression.java
index f6c7cbdb66a..d7f400955c0 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/Expression.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/Expression.java
@@ -23,6 +23,7 @@ import org.apache.doris.nereids.analyzer.Unbound;
 import org.apache.doris.nereids.analyzer.UnboundVariable;
 import org.apache.doris.nereids.exceptions.AnalysisException;
 import org.apache.doris.nereids.trees.AbstractTreeNode;
+import 
org.apache.doris.nereids.trees.expressions.ArrayItemReference.ArrayItemSlot;
 import org.apache.doris.nereids.trees.expressions.functions.ExpressionTrait;
 import org.apache.doris.nereids.trees.expressions.functions.Nondeterministic;
 import 
org.apache.doris.nereids.trees.expressions.functions.agg.AggregateFunction;
@@ -67,7 +68,8 @@ public abstract class Expression extends 
AbstractTreeNode<Expression> implements
     private final boolean inferred;
     private final boolean hasUnbound;
     private final boolean compareWidthAndDepth;
-    private final Supplier<Set<Slot>> inputSlots = Suppliers.memoize(() -> 
collect(Slot.class::isInstance));
+    private final Supplier<Set<Slot>> inputSlots = Suppliers.memoize(
+            () -> collect(e -> e instanceof Slot && !(e instanceof 
ArrayItemSlot)));
 
     protected Expression(Expression... children) {
         super(children);
diff --git 
a/regression-test/data/nereids_rules_p0/normalize_aggregate/normalize_aggregate_test.out
 
b/regression-test/data/nereids_rules_p0/normalize_aggregate/normalize_aggregate_test.out
index 50c132b2f72..76173253ac0 100644
--- 
a/regression-test/data/nereids_rules_p0/normalize_aggregate/normalize_aggregate_test.out
+++ 
b/regression-test/data/nereids_rules_p0/normalize_aggregate/normalize_aggregate_test.out
@@ -1,3 +1,6 @@
 -- This file is automatically generated. You should know what you did if you 
want to edit this
 -- !test_upper_project_projections_rewrite2 --
 
+-- !test_lambda --
+1
+
diff --git 
a/regression-test/suites/nereids_rules_p0/normalize_aggregate/normalize_aggregate_test.groovy
 
b/regression-test/suites/nereids_rules_p0/normalize_aggregate/normalize_aggregate_test.groovy
index f3c732c0671..49ebb198a05 100644
--- 
a/regression-test/suites/nereids_rules_p0/normalize_aggregate/normalize_aggregate_test.groovy
+++ 
b/regression-test/suites/nereids_rules_p0/normalize_aggregate/normalize_aggregate_test.groovy
@@ -23,4 +23,8 @@ suite("normalize_aggregate") {
     qt_test_upper_project_projections_rewrite2 """
     SELECT - + AVG ( DISTINCT - col0 ) * - col0 FROM
     normalize_aggregate_tab WHERE + - col0 IS NULL GROUP BY col0 HAVING NULL 
IS NULL;"""
+
+    qt_test_lambda """
+        select count(array_filter(i -> (i > 0.99), array(1, 2, 3)))
+    """
 }
\ No newline at end of file


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

Reply via email to