You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by yi...@apache.org on 2023/01/17 02:18:26 UTC
[doris] branch master updated: [Bug](datev2) Fix wrong cast expr (#15985)
This is an automated email from the ASF dual-hosted git repository.
yiguolei 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 1ea11aa120 [Bug](datev2) Fix wrong cast expr (#15985)
1ea11aa120 is described below
commit 1ea11aa120d6108bc01c3fadaa02a1d965a03ca3
Author: Gabriel <ga...@gmail.com>
AuthorDate: Tue Jan 17 10:18:20 2023 +0800
[Bug](datev2) Fix wrong cast expr (#15985)
Found by regression tests when I turn on enable_date_conversion
---
.../org/apache/doris/analysis/StringLiteral.java | 5 +-
.../doris/analysis/TimestampArithmeticExpr.java | 7 +-
gensrc/script/doris_builtins_functions.py | 88 ----------------------
3 files changed, 4 insertions(+), 96 deletions(-)
diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/StringLiteral.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/StringLiteral.java
index bd8867b810..1094ca6564 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/StringLiteral.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/StringLiteral.java
@@ -21,7 +21,6 @@
package org.apache.doris.analysis;
import org.apache.doris.catalog.PrimitiveType;
-import org.apache.doris.catalog.ScalarType;
import org.apache.doris.catalog.Type;
import org.apache.doris.common.AnalysisException;
import org.apache.doris.common.DdlException;
@@ -185,8 +184,8 @@ public class StringLiteral extends LiteralExpr {
newLiteral = new DateLiteral(value, targetType);
} catch (AnalysisException e) {
if (targetType.isScalarType(PrimitiveType.DATETIME)) {
- newLiteral = new DateLiteral(value, ScalarType.getDefaultDateType(Type.DATE));
- newLiteral.setType(ScalarType.getDefaultDateType(Type.DATETIME));
+ newLiteral = new DateLiteral(value, Type.DATE);
+ newLiteral.setType(Type.DATETIME);
} else if (targetType.isScalarType(PrimitiveType.DATETIMEV2)) {
newLiteral = new DateLiteral(value, Type.DATEV2);
newLiteral.setType(targetType);
diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/TimestampArithmeticExpr.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/TimestampArithmeticExpr.java
index 2fc7850abc..ca2c098f34 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/TimestampArithmeticExpr.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/TimestampArithmeticExpr.java
@@ -285,11 +285,8 @@ public class TimestampArithmeticExpr extends Expr {
for (int i = 0; i < childrenTypes.length; ++i) {
// For varargs, we must compare with the last type in callArgs.argTypes.
int ix = Math.min(argTypes.length - 1, i);
- if (!childrenTypes[i].matchesType(argTypes[ix]) && Config.enable_date_conversion
- && !childrenTypes[i].isDateType() && (argTypes[ix].isDate() || argTypes[ix].isDatetime())) {
- uncheckedCastChild(ScalarType.getDefaultDateType(argTypes[ix]), i);
- } else if (!childrenTypes[i].matchesType(argTypes[ix]) && !(
- childrenTypes[i].isDateType() && argTypes[ix].isDateType())) {
+ if (!childrenTypes[i].matchesType(argTypes[ix]) && !(
+ childrenTypes[i].isDateOrDateTime() && argTypes[ix].isDateOrDateTime())) {
uncheckedCastChild(argTypes[ix], i);
}
}
diff --git a/gensrc/script/doris_builtins_functions.py b/gensrc/script/doris_builtins_functions.py
index 18380f8320..e353e44a5b 100755
--- a/gensrc/script/doris_builtins_functions.py
+++ b/gensrc/script/doris_builtins_functions.py
@@ -1435,94 +1435,6 @@ visible_functions = [
'_ZN5doris18TimestampFunctions12seconds_diffEPN9doris_udf15FunctionContextERKNS1_11DateTimeV2ValES6_',
'', '', 'vec', 'ALWAYS_NULLABLE'],
- [['years_diff'], 'BIGINT', ['DATEV2', 'DATETIME'],
- '_ZN5doris18TimestampFunctions10years_diffEPN9doris_udf15FunctionContextERKNS1_11DateTimeV2ValES6_',
- '', '', 'vec', 'ALWAYS_NULLABLE'],
- [['months_diff'], 'BIGINT', ['DATEV2', 'DATETIME'],
- '_ZN5doris18TimestampFunctions11months_diffEPN9doris_udf15FunctionContextERKNS1_11DateTimeV2ValES6_',
- '', '', 'vec', 'ALWAYS_NULLABLE'],
- [['weeks_diff'], 'BIGINT', ['DATEV2', 'DATETIME'],
- '_ZN5doris18TimestampFunctions10weeks_diffEPN9doris_udf15FunctionContextERKNS1_11DateTimeV2ValES6_',
- '', '', 'vec', 'ALWAYS_NULLABLE'],
- [['days_diff'], 'BIGINT', ['DATEV2', 'DATETIME'],
- '_ZN5doris18TimestampFunctions9days_diffEPN9doris_udf15FunctionContextERKNS1_11DateTimeV2ValES6_',
- '', '', 'vec', 'ALWAYS_NULLABLE'],
- [['hours_diff'], 'BIGINT', ['DATEV2', 'DATETIME'],
- '_ZN5doris18TimestampFunctions10hours_diffEPN9doris_udf15FunctionContextERKNS1_11DateTimeV2ValES6_',
- '', '', 'vec', 'ALWAYS_NULLABLE'],
- [['minutes_diff'], 'BIGINT', ['DATEV2', 'DATETIME'],
- '_ZN5doris18TimestampFunctions12minutes_diffEPN9doris_udf15FunctionContextERKNS1_11DateTimeV2ValES6_',
- '', '', 'vec', 'ALWAYS_NULLABLE'],
- [['seconds_diff'], 'BIGINT', ['DATEV2', 'DATETIME'],
- '_ZN5doris18TimestampFunctions12seconds_diffEPN9doris_udf15FunctionContextERKNS1_11DateTimeV2ValES6_',
- '', '', 'vec', 'ALWAYS_NULLABLE'],
-
- [['years_diff'], 'BIGINT', ['DATETIME', 'DATEV2'],
- '_ZN5doris18TimestampFunctions10years_diffEPN9doris_udf15FunctionContextERKNS1_11DateTimeV2ValES6_',
- '', '', 'vec', 'ALWAYS_NULLABLE'],
- [['months_diff'], 'BIGINT', ['DATETIME', 'DATEV2'],
- '_ZN5doris18TimestampFunctions11months_diffEPN9doris_udf15FunctionContextERKNS1_11DateTimeV2ValES6_',
- '', '', 'vec', 'ALWAYS_NULLABLE'],
- [['weeks_diff'], 'BIGINT', ['DATETIME', 'DATEV2'],
- '_ZN5doris18TimestampFunctions10weeks_diffEPN9doris_udf15FunctionContextERKNS1_11DateTimeV2ValES6_',
- '', '', 'vec', 'ALWAYS_NULLABLE'],
- [['days_diff'], 'BIGINT', ['DATETIME', 'DATEV2'],
- '_ZN5doris18TimestampFunctions9days_diffEPN9doris_udf15FunctionContextERKNS1_11DateTimeV2ValES6_',
- '', '', 'vec', 'ALWAYS_NULLABLE'],
- [['hours_diff'], 'BIGINT', ['DATETIME', 'DATEV2'],
- '_ZN5doris18TimestampFunctions10hours_diffEPN9doris_udf15FunctionContextERKNS1_11DateTimeV2ValES6_',
- '', '', 'vec', 'ALWAYS_NULLABLE'],
- [['minutes_diff'], 'BIGINT', ['DATETIME', 'DATEV2'],
- '_ZN5doris18TimestampFunctions12minutes_diffEPN9doris_udf15FunctionContextERKNS1_11DateTimeV2ValES6_',
- '', '', 'vec', 'ALWAYS_NULLABLE'],
- [['seconds_diff'], 'BIGINT', ['DATETIME', 'DATEV2'],
- '_ZN5doris18TimestampFunctions12seconds_diffEPN9doris_udf15FunctionContextERKNS1_11DateTimeV2ValES6_',
- '', '', 'vec', 'ALWAYS_NULLABLE'],
-
- [['years_diff'], 'BIGINT', ['DATETIMEV2', 'DATETIME'],
- '_ZN5doris18TimestampFunctions10years_diffEPN9doris_udf15FunctionContextERKNS1_11DateTimeV2ValES6_',
- '', '', 'vec', 'ALWAYS_NULLABLE'],
- [['months_diff'], 'BIGINT', ['DATETIMEV2', 'DATETIME'],
- '_ZN5doris18TimestampFunctions11months_diffEPN9doris_udf15FunctionContextERKNS1_11DateTimeV2ValES6_',
- '', '', 'vec', 'ALWAYS_NULLABLE'],
- [['weeks_diff'], 'BIGINT', ['DATETIMEV2', 'DATETIME'],
- '_ZN5doris18TimestampFunctions10weeks_diffEPN9doris_udf15FunctionContextERKNS1_11DateTimeV2ValES6_',
- '', '', 'vec', 'ALWAYS_NULLABLE'],
- [['days_diff'], 'BIGINT', ['DATETIMEV2', 'DATETIME'],
- '_ZN5doris18TimestampFunctions9days_diffEPN9doris_udf15FunctionContextERKNS1_11DateTimeV2ValES6_',
- '', '', 'vec', 'ALWAYS_NULLABLE'],
- [['hours_diff'], 'BIGINT', ['DATETIMEV2', 'DATETIME'],
- '_ZN5doris18TimestampFunctions10hours_diffEPN9doris_udf15FunctionContextERKNS1_11DateTimeV2ValES6_',
- '', '', 'vec', 'ALWAYS_NULLABLE'],
- [['minutes_diff'], 'BIGINT', ['DATETIMEV2', 'DATETIME'],
- '_ZN5doris18TimestampFunctions12minutes_diffEPN9doris_udf15FunctionContextERKNS1_11DateTimeV2ValES6_',
- '', '', 'vec', 'ALWAYS_NULLABLE'],
- [['seconds_diff'], 'BIGINT', ['DATETIMEV2', 'DATETIME'],
- '_ZN5doris18TimestampFunctions12seconds_diffEPN9doris_udf15FunctionContextERKNS1_11DateTimeV2ValES6_',
- '', '', 'vec', 'ALWAYS_NULLABLE'],
-
- [['years_diff'], 'BIGINT', ['DATETIME', 'DATETIMEV2'],
- '_ZN5doris18TimestampFunctions10years_diffEPN9doris_udf15FunctionContextERKNS1_11DateTimeV2ValES6_',
- '', '', 'vec', 'ALWAYS_NULLABLE'],
- [['months_diff'], 'BIGINT', ['DATETIME', 'DATETIMEV2'],
- '_ZN5doris18TimestampFunctions11months_diffEPN9doris_udf15FunctionContextERKNS1_11DateTimeV2ValES6_',
- '', '', 'vec', 'ALWAYS_NULLABLE'],
- [['weeks_diff'], 'BIGINT', ['DATETIME', 'DATETIMEV2'],
- '_ZN5doris18TimestampFunctions10weeks_diffEPN9doris_udf15FunctionContextERKNS1_11DateTimeV2ValES6_',
- '', '', 'vec', 'ALWAYS_NULLABLE'],
- [['days_diff'], 'BIGINT', ['DATETIME', 'DATETIMEV2'],
- '_ZN5doris18TimestampFunctions9days_diffEPN9doris_udf15FunctionContextERKNS1_11DateTimeV2ValES6_',
- '', '', 'vec', 'ALWAYS_NULLABLE'],
- [['hours_diff'], 'BIGINT', ['DATETIME', 'DATETIMEV2'],
- '_ZN5doris18TimestampFunctions10hours_diffEPN9doris_udf15FunctionContextERKNS1_11DateTimeV2ValES6_',
- '', '', 'vec', 'ALWAYS_NULLABLE'],
- [['minutes_diff'], 'BIGINT', ['DATETIME', 'DATETIMEV2'],
- '_ZN5doris18TimestampFunctions12minutes_diffEPN9doris_udf15FunctionContextERKNS1_11DateTimeV2ValES6_',
- '', '', 'vec', 'ALWAYS_NULLABLE'],
- [['seconds_diff'], 'BIGINT', ['DATETIME', 'DATETIMEV2'],
- '_ZN5doris18TimestampFunctions12seconds_diffEPN9doris_udf15FunctionContextERKNS1_11DateTimeV2ValES6_',
- '', '', 'vec', 'ALWAYS_NULLABLE'],
-
[['year_floor'], 'DATETIMEV2', ['DATETIMEV2'],
'_ZN5doris18TimestampFunctions10year_floorEPN9doris_udf15FunctionContextERKNS1_11DateTimeV2ValE',
'', '', 'vec', 'ALWAYS_NULLABLE'],
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org