[fix](window_function) window function first_value/last_value should be always nullable (#26014)
This commit is contained in:
@ -58,7 +58,8 @@ public class AggregateFunction extends Function {
|
||||
FunctionSet.ARRAY_AGG, FunctionSet.COLLECT_LIST, FunctionSet.COLLECT_SET);
|
||||
|
||||
public static ImmutableSet<String> ALWAYS_NULLABLE_AGGREGATE_FUNCTION_NAME_SET =
|
||||
ImmutableSet.of("stddev_samp", "variance_samp", "var_samp", "percentile_approx");
|
||||
ImmutableSet.of("stddev_samp", "variance_samp", "var_samp", "percentile_approx", "first_value",
|
||||
"last_value");
|
||||
|
||||
public static ImmutableSet<String> CUSTOM_AGGREGATE_FUNCTION_NAME_SET =
|
||||
ImmutableSet.of("group_concat");
|
||||
|
||||
@ -19,8 +19,8 @@ package org.apache.doris.nereids.trees.expressions.functions.window;
|
||||
|
||||
import org.apache.doris.catalog.FunctionSignature;
|
||||
import org.apache.doris.nereids.trees.expressions.Expression;
|
||||
import org.apache.doris.nereids.trees.expressions.functions.AlwaysNullable;
|
||||
import org.apache.doris.nereids.trees.expressions.functions.ExplicitlyCastableSignature;
|
||||
import org.apache.doris.nereids.trees.expressions.functions.PropagateNullable;
|
||||
import org.apache.doris.nereids.trees.expressions.shape.UnaryExpression;
|
||||
import org.apache.doris.nereids.types.coercion.AnyDataType;
|
||||
|
||||
@ -30,7 +30,7 @@ import java.util.List;
|
||||
|
||||
/** parent class for first_value() and last_value() */
|
||||
public abstract class FirstOrLastValue extends WindowFunction
|
||||
implements UnaryExpression, PropagateNullable, ExplicitlyCastableSignature {
|
||||
implements UnaryExpression, AlwaysNullable, ExplicitlyCastableSignature {
|
||||
|
||||
private static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
|
||||
FunctionSignature.retArgType(0).args(AnyDataType.INSTANCE_WITHOUT_INDEX)
|
||||
|
||||
Reference in New Issue
Block a user