This is an automated email from the ASF dual-hosted git repository. kxiao pushed a commit to branch branch-2.0-beta in repository https://gitbox.apache.org/repos/asf/doris.git
commit b5027ef1bab2e86d3a0e1d2cd20ecd82235eef78 Author: starocean999 <[email protected]> AuthorDate: Mon Jun 5 10:50:07 2023 +0800 [fix](nereids) change defaultConcreteType function's return value for decimal (#20380) 1. add default decimalv2 and decimalv3 for NullType 2. change defaultConcreteType of decimalv3 to this --- .../trees/expressions/functions/scalar/Nvl.java | 2 +- .../apache/doris/nereids/types/DecimalV2Type.java | 3 ++- .../apache/doris/nereids/types/DecimalV3Type.java | 3 ++- .../conditional_functions/test_coalesce.out | 24 +++++++++++----------- .../conditional_functions/test_nullif.out | 8 ++++---- 5 files changed, 21 insertions(+), 19 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Nvl.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Nvl.java index cf553199fe..5e5e8736b6 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Nvl.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Nvl.java @@ -58,8 +58,8 @@ public class Nvl extends ScalarFunction FunctionSignature.ret(IntegerType.INSTANCE).args(IntegerType.INSTANCE, IntegerType.INSTANCE), FunctionSignature.ret(BigIntType.INSTANCE).args(BigIntType.INSTANCE, BigIntType.INSTANCE), FunctionSignature.ret(LargeIntType.INSTANCE).args(LargeIntType.INSTANCE, LargeIntType.INSTANCE), - FunctionSignature.ret(FloatType.INSTANCE).args(FloatType.INSTANCE, FloatType.INSTANCE), FunctionSignature.ret(DoubleType.INSTANCE).args(DoubleType.INSTANCE, DoubleType.INSTANCE), + FunctionSignature.ret(FloatType.INSTANCE).args(FloatType.INSTANCE, FloatType.INSTANCE), FunctionSignature.ret(DateType.INSTANCE).args(DateType.INSTANCE, DateType.INSTANCE), FunctionSignature.ret(DateTimeType.INSTANCE).args(DateTimeType.INSTANCE, DateTimeType.INSTANCE), FunctionSignature.ret(DateTimeType.INSTANCE).args(DateType.INSTANCE, DateTimeType.INSTANCE), diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/types/DecimalV2Type.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/types/DecimalV2Type.java index bbee1c1ecc..d599fbe0c3 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/types/DecimalV2Type.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/types/DecimalV2Type.java @@ -62,6 +62,7 @@ public class DecimalV2Type extends FractionalType { .put(DoubleType.INSTANCE, DOUBLE_DECIMAL) .put(TimeType.INSTANCE, DOUBLE_DECIMAL) .put(TimeV2Type.INSTANCE, DOUBLE_DECIMAL) + .put(NullType.INSTANCE, BOOLEAN_DECIMAL) .build(); private final int precision; @@ -137,7 +138,7 @@ public class DecimalV2Type extends FractionalType { @Override public DataType defaultConcreteType() { - return SYSTEM_DEFAULT; + return this; } @Override diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/types/DecimalV3Type.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/types/DecimalV3Type.java index 259da3ea90..4c78513b50 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/types/DecimalV3Type.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/types/DecimalV3Type.java @@ -60,6 +60,7 @@ public class DecimalV3Type extends FractionalType { .put(LargeIntType.INSTANCE, LARGEINT_DECIMAL) .put(FloatType.INSTANCE, FLOAT_DECIMAL) .put(DoubleType.INSTANCE, DOUBLE_DECIMAL) + .put(NullType.INSTANCE, BOOLEAN_DECIMAL) .build(); protected final int precision; @@ -146,7 +147,7 @@ public class DecimalV3Type extends FractionalType { @Override public DataType defaultConcreteType() { - return SYSTEM_DEFAULT; + return this; } @Override diff --git a/regression-test/data/nereids_p0/sql_functions/conditional_functions/test_coalesce.out b/regression-test/data/nereids_p0/sql_functions/conditional_functions/test_coalesce.out index 82dbea9a25..f25ac04c28 100644 --- a/regression-test/data/nereids_p0/sql_functions/conditional_functions/test_coalesce.out +++ b/regression-test/data/nereids_p0/sql_functions/conditional_functions/test_coalesce.out @@ -326,11 +326,11 @@ -- !coalesce3 -- \N \N 1 123.123 -2 1243.5 -3 24453.324 -4 243243.33 +2 1243.500 +3 24453.325 +4 243243.325 5 243.325 -6 604587.0 +6 604587.000 7 3.141 8 -0.123 9 -654.654 @@ -338,17 +338,17 @@ 11 0.666 12 243.325 13 100.001 -14 0.0 -15 0.0 +14 0.000 +15 0.000 -- !coalesce4 -- \N \N 1 123.123 -2 1243.5 -3 24453.324 -4 243243.33 +2 1243.500 +3 24453.325 +4 243243.325 5 243.325 -6 604587.0 +6 604587.000 7 3.141 8 -0.123 9 -654.654 @@ -356,8 +356,8 @@ 11 0.666 12 243.325 13 100.001 -14 0.0 -15 0.0 +14 0.000 +15 0.000 -- !coalesce1 -- \N \N diff --git a/regression-test/data/nereids_p0/sql_functions/conditional_functions/test_nullif.out b/regression-test/data/nereids_p0/sql_functions/conditional_functions/test_nullif.out index dfda4676d3..f0746996f0 100644 --- a/regression-test/data/nereids_p0/sql_functions/conditional_functions/test_nullif.out +++ b/regression-test/data/nereids_p0/sql_functions/conditional_functions/test_nullif.out @@ -490,13 +490,13 @@ null NULL null NULLL -- !if_nullif23 -- 123.123 -1243.5 -24453.324 +1243.500 +24453.325 -- !if_nullif24 -- 123.123 -1243.5 -24453.324 +1243.500 +24453.325 -- !if_nullif23 -- false --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
