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 f371528adab [fix](Nereids) generating function should not folding to
NullLiteral (#29003)
f371528adab is described below
commit f371528adabd294d67fe25f5fe57d8b7046bb1a1
Author: morrySnow <[email protected]>
AuthorDate: Tue Dec 26 15:25:19 2023 +0800
[fix](Nereids) generating function should not folding to NullLiteral
(#29003)
should not fold table generating function to null when do constant folding.
we should remove Generate node and replaced it by project later.
---
.../doris/nereids/rules/expression/rules/FoldConstantRuleOnFE.java | 3 ++-
regression-test/suites/correctness/test_explode_numbers.groovy | 1 +
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/FoldConstantRuleOnFE.java
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/FoldConstantRuleOnFE.java
index a73aab44f1f..9988a34da42 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/FoldConstantRuleOnFE.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/FoldConstantRuleOnFE.java
@@ -47,6 +47,7 @@ import org.apache.doris.nereids.trees.expressions.WhenClause;
import org.apache.doris.nereids.trees.expressions.functions.BoundFunction;
import org.apache.doris.nereids.trees.expressions.functions.PropagateNullable;
import
org.apache.doris.nereids.trees.expressions.functions.agg.AggregateFunction;
+import
org.apache.doris.nereids.trees.expressions.functions.generator.TableGeneratingFunction;
import org.apache.doris.nereids.trees.expressions.functions.scalar.Array;
import
org.apache.doris.nereids.trees.expressions.functions.scalar.ConnectionId;
import
org.apache.doris.nereids.trees.expressions.functions.scalar.CurrentCatalog;
@@ -549,7 +550,7 @@ public class FoldConstantRuleOnFE extends
AbstractExpressionRewriteRule {
}
private Optional<Expression> preProcess(Expression expression) {
- if (expression instanceof AggregateFunction) {
+ if (expression instanceof AggregateFunction || expression instanceof
TableGeneratingFunction) {
return Optional.of(expression);
}
if (expression instanceof PropagateNullable &&
argsHasNullLiteral(expression)) {
diff --git a/regression-test/suites/correctness/test_explode_numbers.groovy
b/regression-test/suites/correctness/test_explode_numbers.groovy
index cd85ba835e8..3dc9e050ba4 100644
--- a/regression-test/suites/correctness/test_explode_numbers.groovy
+++ b/regression-test/suites/correctness/test_explode_numbers.groovy
@@ -17,6 +17,7 @@
suite("test_explode_numbers") {
sql 'set enable_nereids_planner=true'
+ sql 'set enable_fallback_to_original_planner=false'
qt_select1 """
select e1 from (select 1 k1) as t lateral view explode_numbers(5) tmp1
as e1 order by e1;
"""
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]