From 949597b827ca3bc0df14da0b78d154cdece4e65e Mon Sep 17 00:00:00 2001 From: morrySnow Date: Mon, 25 Dec 2023 19:44:26 +0800 Subject: [PATCH] [fix](Nereids) generating function should not folding to NullLiteral --- .../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 a73aab44f1fc95..9988a34da42fac 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.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 @@ private boolean argsHasNullLiteral(Expression expression) { } private Optional 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 cd85ba835e8069..3dc9e050ba42bb 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; """