You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by mo...@apache.org on 2022/09/07 12:32:57 UTC
[doris] branch master updated: [fix](nereids) cast left child of TimestampArithmetic to wrong type in BindFunction (#12423)
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 bdbce77227 [fix](nereids) cast left child of TimestampArithmetic to wrong type in BindFunction (#12423)
bdbce77227 is described below
commit bdbce77227d16a1fe731dc4aa55b108f291fd24d
Author: Kikyou1997 <33...@users.noreply.github.com>
AuthorDate: Wed Sep 7 20:32:47 2022 +0800
[fix](nereids) cast left child of TimestampArithmetic to wrong type in BindFunction (#12423)
---
.../main/java/org/apache/doris/nereids/rules/analysis/BindFunction.java | 2 +-
.../org/apache/doris/nereids/trees/expressions/TimestampArithmetic.java | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/BindFunction.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/BindFunction.java
index 567d2169ff..d1a4a4cd2c 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/BindFunction.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/BindFunction.java
@@ -175,7 +175,7 @@ public class BindFunction implements AnalysisRuleFactory {
} catch (Exception e) {
// ignore
}
- if (!left.getDataType().isDateType() && arithmetic.getTimeUnit().isDateTimeUnit()) {
+ if (!left.getDataType().isDateType() && !arithmetic.getTimeUnit().isDateTimeUnit()) {
left = arithmetic.left().castTo(DateType.INSTANCE);
}
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/TimestampArithmetic.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/TimestampArithmetic.java
index ec5c5ce02f..c288698451 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/TimestampArithmetic.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/TimestampArithmetic.java
@@ -36,6 +36,7 @@ import java.util.List;
* Describes the addition and subtraction of time units from timestamps.
* Arithmetic expressions on timestamps are syntactic sugar.
* They are executed as function call exprs in the BE.
+ * Example: '1996-01-01' + INTERVAL '3' month;
* TODO: we need to rethink this, and maybe need to add a new type of Interval then implement IntervalLiteral as others
*/
public class TimestampArithmetic extends Expression implements BinaryExpression {
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org