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 <101034200+morrys...@users.noreply.github.com>
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: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to