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

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

commit cce5d5b6a216afab2ac9a20d3d753174c2a8e012
Author: morrySnow <101034200+morrys...@users.noreply.github.com>
AuthorDate: Tue Jul 2 19:36:59 2024 +0800

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

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 860f5ff8f63..67487e816f1 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
@@ -4,3 +4,6 @@
 
 -- !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 1bf5e07c969..f7751a8bdf7 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
@@ -15,8 +15,6 @@
 // specific language governing permissions and limitations
 // under the License.
 suite("normalize_aggregate") {
-    sql "SET enable_nereids_planner=true"
-    sql "SET enable_fallback_to_original_planner=false"
     qt_test_upper_project_projections_rewrite """
         SELECT DISTINCT + + ( ( + + 46 ) ) * 89 AS col0, COUNT( * ) + + - 72 + 
- - 87 - AVG ( ALL - 56 ) * COUNT( * ) + - CASE + 49 WHEN 6 * + 76 + - +
         CAST( NULL AS SIGNED ) THEN NULL WHEN - COUNT( DISTINCT + + CAST( NULL 
AS SIGNED ) ) + 23 THEN NULL ELSE - + 43 * 32 - + 97 + - ( + 65 ) * + +
@@ -29,4 +27,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