[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.
This commit is contained in:
@ -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)) {
|
||||
|
||||
@ -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;
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user