[opt](Nereids) add float type signature for sum aggregate function (#29503)
* [opt](Nereids) add float type signature for sum aggregate function
This commit is contained in:
@ -67,6 +67,11 @@ public class MultiDistinctSum extends NullableAggregateFunction implements Unary
|
||||
return new Sum(getArgument(0)).getSignatures();
|
||||
}
|
||||
|
||||
@Override
|
||||
public FunctionSignature searchSignature(List<FunctionSignature> signatures) {
|
||||
return new Sum(getArgument(0)).searchSignature(signatures);
|
||||
}
|
||||
|
||||
@Override
|
||||
public NullableAggregateFunction withAlwaysNullable(boolean alwaysNullable) {
|
||||
return new MultiDistinctSum(distinct, alwaysNullable, children.get(0));
|
||||
|
||||
@ -114,7 +114,7 @@ public class Sum extends NullableAggregateFunction
|
||||
@Override
|
||||
public FunctionSignature searchSignature(List<FunctionSignature> signatures) {
|
||||
if (getArgument(0).getDataType() instanceof FloatType) {
|
||||
return FunctionSignature.ret(DoubleType.INSTANCE).args(DoubleType.INSTANCE);
|
||||
return FunctionSignature.ret(DoubleType.INSTANCE).args(FloatType.INSTANCE);
|
||||
}
|
||||
return ExplicitlyCastableSignature.super.searchSignature(signatures);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user