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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]