This is an automated email from the ASF dual-hosted git repository. morrysnow pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push: new 0f922a83c7 [fix](nereids) group_bit_xxx signature update (#15318) 0f922a83c7 is described below commit 0f922a83c710480cfcd6687013b9df88339aa554 Author: minghong <engle...@gmail.com> AuthorDate: Tue Dec 27 00:41:42 2022 +0800 [fix](nereids) group_bit_xxx signature update (#15318) --- .../expressions/functions/agg/GroupBitAnd.java | 20 ++++++++++++++++---- .../trees/expressions/functions/agg/GroupBitOr.java | 20 ++++++++++++++++---- .../expressions/functions/agg/GroupBitXor.java | 21 +++++++++++++++++---- 3 files changed, 49 insertions(+), 12 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/agg/GroupBitAnd.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/agg/GroupBitAnd.java index 1e8e5ff502..43dd0f1d47 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/agg/GroupBitAnd.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/agg/GroupBitAnd.java @@ -19,12 +19,16 @@ package org.apache.doris.nereids.trees.expressions.functions.agg; import org.apache.doris.catalog.FunctionSignature; import org.apache.doris.nereids.trees.expressions.Expression; -import org.apache.doris.nereids.trees.expressions.functions.CustomSignature; +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.trees.expressions.visitor.ExpressionVisitor; +import org.apache.doris.nereids.types.BigIntType; import org.apache.doris.nereids.types.DataType; import org.apache.doris.nereids.types.IntegerType; +import org.apache.doris.nereids.types.LargeIntType; +import org.apache.doris.nereids.types.SmallIntType; +import org.apache.doris.nereids.types.TinyIntType; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; @@ -32,15 +36,23 @@ import com.google.common.collect.ImmutableList; import java.util.List; /** min agg function. */ -public class GroupBitAnd extends AggregateFunction implements UnaryExpression, PropagateNullable, CustomSignature { +public class GroupBitAnd extends AggregateFunction + implements UnaryExpression, PropagateNullable, 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(BigIntType.INSTANCE).args(BigIntType.INSTANCE), + FunctionSignature.ret(LargeIntType.INSTANCE).args(LargeIntType.INSTANCE) + ); public GroupBitAnd(Expression child) { super("group_bit_and", child); } @Override - public FunctionSignature customSignature() { - return FunctionSignature.of(IntegerType.INSTANCE, (List) getArgumentsTypes()); + public List<FunctionSignature> getSignatures() { + return SIGNATURES; } @Override diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/agg/GroupBitOr.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/agg/GroupBitOr.java index 1b35c81922..4d296078ae 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/agg/GroupBitOr.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/agg/GroupBitOr.java @@ -19,12 +19,16 @@ package org.apache.doris.nereids.trees.expressions.functions.agg; import org.apache.doris.catalog.FunctionSignature; import org.apache.doris.nereids.trees.expressions.Expression; -import org.apache.doris.nereids.trees.expressions.functions.CustomSignature; +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.trees.expressions.visitor.ExpressionVisitor; +import org.apache.doris.nereids.types.BigIntType; import org.apache.doris.nereids.types.DataType; import org.apache.doris.nereids.types.IntegerType; +import org.apache.doris.nereids.types.LargeIntType; +import org.apache.doris.nereids.types.SmallIntType; +import org.apache.doris.nereids.types.TinyIntType; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; @@ -32,15 +36,23 @@ import com.google.common.collect.ImmutableList; import java.util.List; /** min agg function. */ -public class GroupBitOr extends AggregateFunction implements UnaryExpression, PropagateNullable, CustomSignature { +public class GroupBitOr extends AggregateFunction + implements UnaryExpression, PropagateNullable, 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(BigIntType.INSTANCE).args(BigIntType.INSTANCE), + FunctionSignature.ret(LargeIntType.INSTANCE).args(LargeIntType.INSTANCE) + ); public GroupBitOr(Expression child) { super("group_bit_or", child); } @Override - public FunctionSignature customSignature() { - return FunctionSignature.of(IntegerType.INSTANCE, (List) getArgumentsTypes()); + public List<FunctionSignature> getSignatures() { + return SIGNATURES; } @Override diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/agg/GroupBitXor.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/agg/GroupBitXor.java index 214d94dd52..3912dbb962 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/agg/GroupBitXor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/agg/GroupBitXor.java @@ -19,12 +19,16 @@ package org.apache.doris.nereids.trees.expressions.functions.agg; import org.apache.doris.catalog.FunctionSignature; import org.apache.doris.nereids.trees.expressions.Expression; -import org.apache.doris.nereids.trees.expressions.functions.CustomSignature; +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.trees.expressions.visitor.ExpressionVisitor; +import org.apache.doris.nereids.types.BigIntType; import org.apache.doris.nereids.types.DataType; import org.apache.doris.nereids.types.IntegerType; +import org.apache.doris.nereids.types.LargeIntType; +import org.apache.doris.nereids.types.SmallIntType; +import org.apache.doris.nereids.types.TinyIntType; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; @@ -32,15 +36,24 @@ import com.google.common.collect.ImmutableList; import java.util.List; /** min agg function. */ -public class GroupBitXor extends AggregateFunction implements UnaryExpression, PropagateNullable, CustomSignature { +public class GroupBitXor extends AggregateFunction + implements UnaryExpression, PropagateNullable, 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(BigIntType.INSTANCE).args(BigIntType.INSTANCE), + FunctionSignature.ret(LargeIntType.INSTANCE).args(LargeIntType.INSTANCE) + ); public GroupBitXor(Expression child) { super("group_bit_xor", child); } @Override - public FunctionSignature customSignature() { - return FunctionSignature.of(IntegerType.INSTANCE, (List) getArgumentsTypes()); + public List<FunctionSignature> getSignatures() { + return SIGNATURES; } @Override --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org