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 2024/09/02 13:45:59 UTC
(doris) branch branch-2.0 updated: [fix](Nereids) datetimev2 literal equals should compare microsecond (#40121) (#40279)
This is an automated email from the ASF dual-hosted git repository.
morrysnow pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.0 by this push:
new 6c34de6adf3 [fix](Nereids) datetimev2 literal equals should compare microsecond (#40121) (#40279)
6c34de6adf3 is described below
commit 6c34de6adf3f1633fa6f7492735331761b78239b
Author: morrySnow <10...@users.noreply.github.com>
AuthorDate: Mon Sep 2 21:45:49 2024 +0800
[fix](Nereids) datetimev2 literal equals should compare microsecond (#40121) (#40279)
pick from master #40121
---
.../nereids/trees/expressions/literal/DateTimeV2Literal.java | 7 ++++++-
.../nereids/trees/expressions/literal/DateTimeLiteralTest.java | 10 ++++++++++
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/literal/DateTimeV2Literal.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/literal/DateTimeV2Literal.java
index 784167c81ca..fea92fd86ec 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/literal/DateTimeV2Literal.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/literal/DateTimeV2Literal.java
@@ -99,6 +99,11 @@ public class DateTimeV2Literal extends DateTimeLiteral {
getDataType().toCatalogDataType());
}
+ @Override
+ public double getDouble() {
+ return super.getDouble() + microSecond / 1000000.0;
+ }
+
@Override
public String toString() {
return getStringValue();
@@ -233,6 +238,6 @@ public class DateTimeV2Literal extends DateTimeLiteral {
return false;
}
DateTimeV2Literal literal = (DateTimeV2Literal) o;
- return Objects.equals(dataType, literal.dataType);
+ return Objects.equals(dataType, literal.dataType) && Objects.equals(microSecond, literal.microSecond);
}
}
diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/expressions/literal/DateTimeLiteralTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/expressions/literal/DateTimeLiteralTest.java
index a7553ef658b..e7606cca352 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/expressions/literal/DateTimeLiteralTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/expressions/literal/DateTimeLiteralTest.java
@@ -485,4 +485,14 @@ class DateTimeLiteralTest {
Assertions.assertEquals(1, literal.roundCeiling(0).month);
Assertions.assertEquals(2001, literal.roundCeiling(0).year);
}
+
+ @Test
+ void testEquals() {
+ DateTimeV2Literal l1 = new DateTimeV2Literal(1, 1, 1, 1, 1, 1, 1);
+ DateTimeV2Literal l2 = new DateTimeV2Literal(1, 1, 1, 1, 1, 1, 1);
+ DateTimeV2Literal l3 = new DateTimeV2Literal(1, 1, 1, 1, 1, 1, 2);
+
+ Assertions.assertEquals(l1, l2);
+ Assertions.assertNotEquals(l1, l3);
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org