pick from master #39352 use double to match string - corr - covar - covar_samp - stddev - stddev_samp use largeint to match string - group_bit_and - group_bit_or - group_git_xor use double to match decimalv3 - topn_weighted optimize error message - multi_distinct_sum - multi_distinct_sum0
This commit is contained in:
@ -44,12 +44,12 @@ public class AvgWeighted extends AggregateFunction
|
||||
|
||||
public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(DoubleType.INSTANCE, DoubleType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(TinyIntType.INSTANCE, DoubleType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(SmallIntType.INSTANCE, DoubleType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(IntegerType.INSTANCE, DoubleType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(DecimalV2Type.SYSTEM_DEFAULT, DoubleType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(BigIntType.INSTANCE, DoubleType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(FloatType.INSTANCE, DoubleType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(DecimalV2Type.SYSTEM_DEFAULT, DoubleType.INSTANCE)
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(IntegerType.INSTANCE, DoubleType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(SmallIntType.INSTANCE, DoubleType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(TinyIntType.INSTANCE, DoubleType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(FloatType.INSTANCE, DoubleType.INSTANCE)
|
||||
);
|
||||
|
||||
/**
|
||||
|
||||
@ -39,11 +39,11 @@ import java.util.List;
|
||||
public class BitmapAgg extends AggregateFunction
|
||||
implements UnaryExpression, ExplicitlyCastableSignature, AlwaysNotNullable {
|
||||
public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
|
||||
FunctionSignature.ret(BitmapType.INSTANCE).args(TinyIntType.INSTANCE),
|
||||
FunctionSignature.ret(BitmapType.INSTANCE).args(SmallIntType.INSTANCE),
|
||||
FunctionSignature.ret(BitmapType.INSTANCE).args(BigIntType.INSTANCE),
|
||||
FunctionSignature.ret(BitmapType.INSTANCE).args(IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(BitmapType.INSTANCE).args(BigIntType.INSTANCE)
|
||||
);
|
||||
FunctionSignature.ret(BitmapType.INSTANCE).args(SmallIntType.INSTANCE),
|
||||
FunctionSignature.ret(BitmapType.INSTANCE).args(TinyIntType.INSTANCE)
|
||||
);
|
||||
|
||||
public BitmapAgg(Expression arg0) {
|
||||
super("bitmap_agg", arg0);
|
||||
|
||||
@ -73,12 +73,6 @@ public class CollectList extends AggregateFunction
|
||||
super("collect_list", distinct, arg0, arg1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public FunctionSignature computeSignature(FunctionSignature signature) {
|
||||
signature = signature.withReturnType(ArrayType.of(getArgumentType(0)));
|
||||
return super.computeSignature(signature);
|
||||
}
|
||||
|
||||
/**
|
||||
* withDistinctAndChildren.
|
||||
*/
|
||||
|
||||
@ -42,12 +42,12 @@ public class Corr extends AggregateFunction
|
||||
implements UnaryExpression, ExplicitlyCastableSignature, PropagateNullable {
|
||||
|
||||
public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(TinyIntType.INSTANCE, TinyIntType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(SmallIntType.INSTANCE, SmallIntType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(IntegerType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(DoubleType.INSTANCE, DoubleType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(BigIntType.INSTANCE, BigIntType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(FloatType.INSTANCE, FloatType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(DoubleType.INSTANCE, DoubleType.INSTANCE)
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(IntegerType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(SmallIntType.INSTANCE, SmallIntType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(TinyIntType.INSTANCE, TinyIntType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(FloatType.INSTANCE, FloatType.INSTANCE)
|
||||
);
|
||||
|
||||
/**
|
||||
|
||||
@ -42,12 +42,12 @@ public class Covar extends AggregateFunction
|
||||
implements UnaryExpression, ExplicitlyCastableSignature, AlwaysNullable {
|
||||
|
||||
public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(TinyIntType.INSTANCE, TinyIntType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(SmallIntType.INSTANCE, SmallIntType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(IntegerType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(DoubleType.INSTANCE, DoubleType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(BigIntType.INSTANCE, BigIntType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(FloatType.INSTANCE, FloatType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(DoubleType.INSTANCE, DoubleType.INSTANCE)
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(IntegerType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(SmallIntType.INSTANCE, SmallIntType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(TinyIntType.INSTANCE, TinyIntType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(FloatType.INSTANCE, FloatType.INSTANCE)
|
||||
);
|
||||
|
||||
/**
|
||||
|
||||
@ -42,12 +42,12 @@ public class CovarSamp extends AggregateFunction
|
||||
implements UnaryExpression, ExplicitlyCastableSignature, AlwaysNullable {
|
||||
|
||||
public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(TinyIntType.INSTANCE, TinyIntType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(SmallIntType.INSTANCE, SmallIntType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(IntegerType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(DoubleType.INSTANCE, DoubleType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(BigIntType.INSTANCE, BigIntType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(FloatType.INSTANCE, FloatType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(DoubleType.INSTANCE, DoubleType.INSTANCE)
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(IntegerType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(SmallIntType.INSTANCE, SmallIntType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(TinyIntType.INSTANCE, TinyIntType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(FloatType.INSTANCE, FloatType.INSTANCE)
|
||||
);
|
||||
|
||||
/**
|
||||
|
||||
@ -40,11 +40,11 @@ public class GroupBitAnd extends NullableAggregateFunction
|
||||
implements UnaryExpression, ExplicitlyCastableSignature {
|
||||
|
||||
public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
|
||||
FunctionSignature.ret(TinyIntType.INSTANCE).args(TinyIntType.INSTANCE),
|
||||
FunctionSignature.ret(SmallIntType.INSTANCE).args(SmallIntType.INSTANCE),
|
||||
FunctionSignature.ret(IntegerType.INSTANCE).args(IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(LargeIntType.INSTANCE).args(LargeIntType.INSTANCE),
|
||||
FunctionSignature.ret(BigIntType.INSTANCE).args(BigIntType.INSTANCE),
|
||||
FunctionSignature.ret(LargeIntType.INSTANCE).args(LargeIntType.INSTANCE)
|
||||
FunctionSignature.ret(IntegerType.INSTANCE).args(IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(SmallIntType.INSTANCE).args(SmallIntType.INSTANCE),
|
||||
FunctionSignature.ret(TinyIntType.INSTANCE).args(TinyIntType.INSTANCE)
|
||||
);
|
||||
|
||||
/**
|
||||
|
||||
@ -41,11 +41,11 @@ public class GroupBitOr extends NullableAggregateFunction
|
||||
implements UnaryExpression, ExplicitlyCastableSignature {
|
||||
|
||||
public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
|
||||
FunctionSignature.ret(TinyIntType.INSTANCE).args(TinyIntType.INSTANCE),
|
||||
FunctionSignature.ret(SmallIntType.INSTANCE).args(SmallIntType.INSTANCE),
|
||||
FunctionSignature.ret(IntegerType.INSTANCE).args(IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(LargeIntType.INSTANCE).args(LargeIntType.INSTANCE),
|
||||
FunctionSignature.ret(BigIntType.INSTANCE).args(BigIntType.INSTANCE),
|
||||
FunctionSignature.ret(LargeIntType.INSTANCE).args(LargeIntType.INSTANCE)
|
||||
FunctionSignature.ret(IntegerType.INSTANCE).args(IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(SmallIntType.INSTANCE).args(SmallIntType.INSTANCE),
|
||||
FunctionSignature.ret(TinyIntType.INSTANCE).args(TinyIntType.INSTANCE)
|
||||
);
|
||||
|
||||
/**
|
||||
|
||||
@ -41,11 +41,11 @@ public class GroupBitXor extends NullableAggregateFunction
|
||||
implements UnaryExpression, ExplicitlyCastableSignature {
|
||||
|
||||
public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
|
||||
FunctionSignature.ret(TinyIntType.INSTANCE).args(TinyIntType.INSTANCE),
|
||||
FunctionSignature.ret(SmallIntType.INSTANCE).args(SmallIntType.INSTANCE),
|
||||
FunctionSignature.ret(IntegerType.INSTANCE).args(IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(LargeIntType.INSTANCE).args(LargeIntType.INSTANCE),
|
||||
FunctionSignature.ret(BigIntType.INSTANCE).args(BigIntType.INSTANCE),
|
||||
FunctionSignature.ret(LargeIntType.INSTANCE).args(LargeIntType.INSTANCE)
|
||||
FunctionSignature.ret(IntegerType.INSTANCE).args(IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(SmallIntType.INSTANCE).args(SmallIntType.INSTANCE),
|
||||
FunctionSignature.ret(TinyIntType.INSTANCE).args(TinyIntType.INSTANCE)
|
||||
);
|
||||
|
||||
/**
|
||||
|
||||
@ -24,12 +24,9 @@ import org.apache.doris.nereids.trees.expressions.functions.ComputePrecisionForS
|
||||
import org.apache.doris.nereids.trees.expressions.functions.ExplicitlyCastableSignature;
|
||||
import org.apache.doris.nereids.trees.expressions.shape.UnaryExpression;
|
||||
import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor;
|
||||
import org.apache.doris.nereids.types.BigIntType;
|
||||
import org.apache.doris.nereids.types.DoubleType;
|
||||
import org.apache.doris.nereids.types.LargeIntType;
|
||||
import org.apache.doris.nereids.types.DataType;
|
||||
|
||||
import com.google.common.base.Preconditions;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -37,12 +34,6 @@ import java.util.List;
|
||||
public class MultiDistinctSum extends NullableAggregateFunction implements UnaryExpression,
|
||||
ExplicitlyCastableSignature, ComputePrecisionForSum, MultiDistinction {
|
||||
|
||||
public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
|
||||
FunctionSignature.ret(BigIntType.INSTANCE).varArgs(BigIntType.INSTANCE),
|
||||
FunctionSignature.ret(BigIntType.INSTANCE).varArgs(DoubleType.INSTANCE),
|
||||
FunctionSignature.ret(BigIntType.INSTANCE).varArgs(LargeIntType.INSTANCE)
|
||||
);
|
||||
|
||||
private final boolean mustUseMultiDistinctAgg;
|
||||
|
||||
public MultiDistinctSum(Expression arg0) {
|
||||
@ -65,8 +56,10 @@ public class MultiDistinctSum extends NullableAggregateFunction implements Unary
|
||||
|
||||
@Override
|
||||
public void checkLegalityBeforeTypeCoercion() {
|
||||
if (child().getDataType().isDateLikeType()) {
|
||||
throw new AnalysisException("Sum in multi distinct functions do not support Date/Datetime type");
|
||||
DataType argType = child().getDataType();
|
||||
if ((!argType.isNumericType() && !argType.isBooleanType() && !argType.isNullType())
|
||||
|| argType.isOnlyMetricType()) {
|
||||
throw new AnalysisException("sum requires a numeric or boolean parameter: " + this.toSql());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -25,12 +25,9 @@ import org.apache.doris.nereids.trees.expressions.functions.ComputePrecisionForS
|
||||
import org.apache.doris.nereids.trees.expressions.functions.ExplicitlyCastableSignature;
|
||||
import org.apache.doris.nereids.trees.expressions.shape.UnaryExpression;
|
||||
import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor;
|
||||
import org.apache.doris.nereids.types.BigIntType;
|
||||
import org.apache.doris.nereids.types.DoubleType;
|
||||
import org.apache.doris.nereids.types.LargeIntType;
|
||||
import org.apache.doris.nereids.types.DataType;
|
||||
|
||||
import com.google.common.base.Preconditions;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -38,12 +35,6 @@ import java.util.List;
|
||||
public class MultiDistinctSum0 extends AggregateFunction implements UnaryExpression,
|
||||
ExplicitlyCastableSignature, ComputePrecisionForSum, MultiDistinction, AlwaysNotNullable {
|
||||
|
||||
public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
|
||||
FunctionSignature.ret(BigIntType.INSTANCE).varArgs(BigIntType.INSTANCE),
|
||||
FunctionSignature.ret(BigIntType.INSTANCE).varArgs(DoubleType.INSTANCE),
|
||||
FunctionSignature.ret(BigIntType.INSTANCE).varArgs(LargeIntType.INSTANCE)
|
||||
);
|
||||
|
||||
private final boolean mustUseMultiDistinctAgg;
|
||||
|
||||
public MultiDistinctSum0(Expression arg0) {
|
||||
@ -61,8 +52,10 @@ public class MultiDistinctSum0 extends AggregateFunction implements UnaryExpress
|
||||
|
||||
@Override
|
||||
public void checkLegalityBeforeTypeCoercion() {
|
||||
if (child().getDataType().isDateLikeType()) {
|
||||
throw new AnalysisException("Sum0 in multi distinct functions do not support Date/Datetime type");
|
||||
DataType argType = child().getDataType();
|
||||
if ((!argType.isNumericType() && !argType.isBooleanType() && !argType.isNullType())
|
||||
|| argType.isOnlyMetricType()) {
|
||||
throw new AnalysisException("sum0 requires a numeric or boolean parameter: " + this.toSql());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -44,10 +44,10 @@ public class Stddev extends NullableAggregateFunction
|
||||
|
||||
public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(DoubleType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(TinyIntType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(SmallIntType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(BigIntType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(SmallIntType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(TinyIntType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(FloatType.INSTANCE));
|
||||
|
||||
/**
|
||||
|
||||
@ -45,10 +45,10 @@ public class StddevSamp extends AggregateFunction
|
||||
|
||||
public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(DoubleType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(TinyIntType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(SmallIntType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(BigIntType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(SmallIntType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(TinyIntType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(FloatType.INSTANCE));
|
||||
|
||||
/**
|
||||
|
||||
@ -52,24 +52,25 @@ public class TopNWeighted extends AggregateFunction
|
||||
implements ExplicitlyCastableSignature, PropagateNullable {
|
||||
|
||||
public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
|
||||
FunctionSignature.ret(ArrayType.of(BooleanType.INSTANCE))
|
||||
.args(BooleanType.INSTANCE, BigIntType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(TinyIntType.INSTANCE))
|
||||
.args(TinyIntType.INSTANCE, BigIntType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(SmallIntType.INSTANCE))
|
||||
.args(SmallIntType.INSTANCE, BigIntType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(IntegerType.INSTANCE))
|
||||
.args(IntegerType.INSTANCE, BigIntType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(BigIntType.INSTANCE))
|
||||
.args(BigIntType.INSTANCE, BigIntType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(LargeIntType.INSTANCE))
|
||||
.args(LargeIntType.INSTANCE, BigIntType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(FloatType.INSTANCE))
|
||||
.args(FloatType.INSTANCE, BigIntType.INSTANCE, IntegerType.INSTANCE),
|
||||
// three arguments
|
||||
FunctionSignature.ret(ArrayType.of(DoubleType.INSTANCE))
|
||||
.args(DoubleType.INSTANCE, BigIntType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(DecimalV2Type.CATALOG_DEFAULT))
|
||||
.args(DecimalV2Type.CATALOG_DEFAULT, BigIntType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(LargeIntType.INSTANCE))
|
||||
.args(LargeIntType.INSTANCE, BigIntType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(BigIntType.INSTANCE))
|
||||
.args(BigIntType.INSTANCE, BigIntType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(IntegerType.INSTANCE))
|
||||
.args(IntegerType.INSTANCE, BigIntType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(SmallIntType.INSTANCE))
|
||||
.args(SmallIntType.INSTANCE, BigIntType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(TinyIntType.INSTANCE))
|
||||
.args(TinyIntType.INSTANCE, BigIntType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(BooleanType.INSTANCE))
|
||||
.args(BooleanType.INSTANCE, BigIntType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(FloatType.INSTANCE))
|
||||
.args(FloatType.INSTANCE, BigIntType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(DateType.INSTANCE))
|
||||
.args(DateType.INSTANCE, BigIntType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(DateTimeType.INSTANCE))
|
||||
@ -78,24 +79,14 @@ public class TopNWeighted extends AggregateFunction
|
||||
.args(DateV2Type.INSTANCE, BigIntType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(DateTimeV2Type.SYSTEM_DEFAULT))
|
||||
.args(DateTimeV2Type.SYSTEM_DEFAULT, BigIntType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(CharType.SYSTEM_DEFAULT))
|
||||
.args(CharType.SYSTEM_DEFAULT, BigIntType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(StringType.INSTANCE))
|
||||
.args(StringType.INSTANCE, BigIntType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(BooleanType.INSTANCE))
|
||||
.args(BooleanType.INSTANCE, BigIntType.INSTANCE, IntegerType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(TinyIntType.INSTANCE))
|
||||
.args(TinyIntType.INSTANCE, BigIntType.INSTANCE, IntegerType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(SmallIntType.INSTANCE))
|
||||
.args(SmallIntType.INSTANCE, BigIntType.INSTANCE, IntegerType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(IntegerType.INSTANCE))
|
||||
.args(IntegerType.INSTANCE, BigIntType.INSTANCE, IntegerType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(BigIntType.INSTANCE))
|
||||
.args(BigIntType.INSTANCE, BigIntType.INSTANCE, IntegerType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(LargeIntType.INSTANCE))
|
||||
.args(LargeIntType.INSTANCE, BigIntType.INSTANCE, IntegerType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(FloatType.INSTANCE))
|
||||
.args(FloatType.INSTANCE, BigIntType.INSTANCE, IntegerType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(VarcharType.SYSTEM_DEFAULT))
|
||||
.args(VarcharType.SYSTEM_DEFAULT, BigIntType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(CharType.SYSTEM_DEFAULT))
|
||||
.args(CharType.SYSTEM_DEFAULT, BigIntType.INSTANCE, IntegerType.INSTANCE),
|
||||
|
||||
// four arguments
|
||||
FunctionSignature.ret(ArrayType.of(DoubleType.INSTANCE))
|
||||
.args(DoubleType.INSTANCE, BigIntType.INSTANCE, IntegerType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(VarcharType.SYSTEM_DEFAULT)
|
||||
@ -103,6 +94,20 @@ public class TopNWeighted extends AggregateFunction
|
||||
BigIntType.INSTANCE,
|
||||
IntegerType.INSTANCE,
|
||||
IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(LargeIntType.INSTANCE))
|
||||
.args(LargeIntType.INSTANCE, BigIntType.INSTANCE, IntegerType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(BigIntType.INSTANCE))
|
||||
.args(BigIntType.INSTANCE, BigIntType.INSTANCE, IntegerType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(IntegerType.INSTANCE))
|
||||
.args(IntegerType.INSTANCE, BigIntType.INSTANCE, IntegerType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(SmallIntType.INSTANCE))
|
||||
.args(SmallIntType.INSTANCE, BigIntType.INSTANCE, IntegerType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(TinyIntType.INSTANCE))
|
||||
.args(TinyIntType.INSTANCE, BigIntType.INSTANCE, IntegerType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(BooleanType.INSTANCE))
|
||||
.args(BooleanType.INSTANCE, BigIntType.INSTANCE, IntegerType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(FloatType.INSTANCE))
|
||||
.args(FloatType.INSTANCE, BigIntType.INSTANCE, IntegerType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(DateType.INSTANCE))
|
||||
.args(DateType.INSTANCE, BigIntType.INSTANCE, IntegerType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(DateTimeType.INSTANCE))
|
||||
@ -114,10 +119,12 @@ public class TopNWeighted extends AggregateFunction
|
||||
BigIntType.INSTANCE,
|
||||
IntegerType.INSTANCE,
|
||||
IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(CharType.SYSTEM_DEFAULT))
|
||||
.args(CharType.SYSTEM_DEFAULT, BigIntType.INSTANCE, IntegerType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(StringType.INSTANCE))
|
||||
.args(StringType.INSTANCE, BigIntType.INSTANCE, IntegerType.INSTANCE, IntegerType.INSTANCE)
|
||||
.args(StringType.INSTANCE, BigIntType.INSTANCE, IntegerType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(VarcharType.SYSTEM_DEFAULT))
|
||||
.args(VarcharType.SYSTEM_DEFAULT, BigIntType.INSTANCE, IntegerType.INSTANCE, IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(ArrayType.of(CharType.SYSTEM_DEFAULT))
|
||||
.args(CharType.SYSTEM_DEFAULT, BigIntType.INSTANCE, IntegerType.INSTANCE, IntegerType.INSTANCE)
|
||||
);
|
||||
|
||||
/**
|
||||
|
||||
@ -44,10 +44,10 @@ public class Variance extends NullableAggregateFunction
|
||||
|
||||
public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(DoubleType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(TinyIntType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(SmallIntType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(BigIntType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(SmallIntType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(TinyIntType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(FloatType.INSTANCE));
|
||||
|
||||
/**
|
||||
|
||||
@ -44,10 +44,10 @@ public class VarianceSamp extends AggregateFunction
|
||||
|
||||
public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(DoubleType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(TinyIntType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(SmallIntType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(BigIntType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(IntegerType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(SmallIntType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(TinyIntType.INSTANCE),
|
||||
FunctionSignature.ret(DoubleType.INSTANCE).args(FloatType.INSTANCE));
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user