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 ab5bddba39c [enhance](Nereids): support DateLiteral with suffix space 
(#30583)
ab5bddba39c is described below

commit ab5bddba39c1e8fc0b07255b85dfbbc492d9ce80
Author: jakevin <jakevin...@gmail.com>
AuthorDate: Tue Jan 30 23:23:23 2024 +0800

    [enhance](Nereids): support DateLiteral with suffix space (#30583)
---
 .../apache/doris/nereids/trees/expressions/literal/DateLiteral.java | 5 ++++-
 .../doris/nereids/trees/expressions/literal/DateLiteralTest.java    | 6 ++++++
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/literal/DateLiteral.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/literal/DateLiteral.java
index f2a136ae771..955522c9797 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/literal/DateLiteral.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/literal/DateLiteral.java
@@ -36,6 +36,7 @@ import java.time.Year;
 import java.time.temporal.ChronoField;
 import java.time.temporal.TemporalAccessor;
 import java.util.Set;
+import java.util.function.UnaryOperator;
 
 /**
  * Date literal in Nereids.
@@ -100,7 +101,7 @@ public class DateLiteral extends Literal {
 
     // normalize yymmdd -> yyyymmdd
     static String normalizeBasic(String s) {
-        java.util.function.UnaryOperator<String> normalizeTwoDigit = (input) 
-> {
+        UnaryOperator<String> normalizeTwoDigit = (input) -> {
             String yy = input.substring(0, 2);
             int year = Integer.parseInt(yy);
             if (year >= 0 && year <= 69) {
@@ -265,6 +266,8 @@ public class DateLiteral extends Literal {
         try {
             TemporalAccessor dateTime;
 
+            // remove suffix ' '
+            s = s.trim();
             // parse condition without '-' and ':'
             boolean containsPunctuation = false;
             for (int i = 0; i < s.length(); i++) {
diff --git 
a/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/expressions/literal/DateLiteralTest.java
 
b/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/expressions/literal/DateLiteralTest.java
index a87a177a1b3..4212d892760 100644
--- 
a/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/expressions/literal/DateLiteralTest.java
+++ 
b/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/expressions/literal/DateLiteralTest.java
@@ -214,4 +214,10 @@ class DateLiteralTest {
         new DateTimeV2Literal("2020.02.01 00.00.00.000001");
         Assertions.assertThrows(AnalysisException.class, () -> new 
DateTimeV2Literal("2020.02.01 00.00.00.0000001"));
     }
+
+    @Test
+    void testSuffixSpace() {
+        new DateLiteral("2016-07-02  ");
+        new DateLiteral("2016-07-02 00:00:00  ");
+    }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to