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/06/12 10:45:17 UTC
[doris] branch branch-1.2-lts updated: [Fix](planner)fix cast yyyy-mm-31 incorrectly in original planner for 1.2 #20701
This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch branch-1.2-lts
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-1.2-lts by this push:
new 53f5b8aa32 [Fix](planner)fix cast yyyy-mm-31 incorrectly in original planner for 1.2 #20701
53f5b8aa32 is described below
commit 53f5b8aa32efc1b25ff2ecdbd4afe6e921ae7229
Author: mch_ucchi <41...@users.noreply.github.com>
AuthorDate: Mon Jun 12 18:45:10 2023 +0800
[Fix](planner)fix cast yyyy-mm-31 incorrectly in original planner for 1.2 #20701
---
.../org/apache/doris/analysis/DateLiteral.java | 27 ++++++++++++++--------
1 file changed, 18 insertions(+), 9 deletions(-)
diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/DateLiteral.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/DateLiteral.java
index eb9973ff94..dabadcd707 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/DateLiteral.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/DateLiteral.java
@@ -99,23 +99,32 @@ public class DateLiteral extends LiteralExpr {
static {
try {
- DATE_TIME_FORMATTER = formatBuilder("%Y-%m-%d %H:%i:%s").toFormatter();
- DATE_FORMATTER = formatBuilder("%Y-%m-%d").toFormatter();
- DATEKEY_FORMATTER = formatBuilder("%Y%m%d").toFormatter();
- DATETIMEKEY_FORMATTER = formatBuilder("%Y%m%d%H%i%s").toFormatter();
+ DATE_TIME_FORMATTER = formatBuilder("%Y-%m-%d %H:%i:%s").toFormatter()
+ .withResolverStyle(ResolverStyle.STRICT);
+ DATE_FORMATTER = formatBuilder("%Y-%m-%d").toFormatter()
+ .withResolverStyle(ResolverStyle.STRICT);
+ DATEKEY_FORMATTER = formatBuilder("%Y%m%d").toFormatter()
+ .withResolverStyle(ResolverStyle.STRICT);
+ DATETIMEKEY_FORMATTER = formatBuilder("%Y%m%d%H%i%s").toFormatter()
+ .withResolverStyle(ResolverStyle.STRICT);
DATE_TIME_FORMATTER_TO_MICRO_SECOND = new DateTimeFormatterBuilder()
.appendPattern("uuuu-MM-dd HH:mm:ss")
.appendFraction(ChronoField.MICRO_OF_SECOND, 0, 6, true)
- .toFormatter();
+ .toFormatter()
+ .withResolverStyle(ResolverStyle.STRICT);
formatterList = Lists.newArrayList(
formatBuilder("%Y%m%d").appendLiteral('T').appendPattern("HHmmss")
- .appendFraction(ChronoField.MICRO_OF_SECOND, 0, 6, true).toFormatter(),
+ .appendFraction(ChronoField.MICRO_OF_SECOND, 0, 6, true)
+ .toFormatter().withResolverStyle(ResolverStyle.STRICT),
formatBuilder("%Y%m%d").appendLiteral('T').appendPattern("HHmmss")
- .appendFraction(ChronoField.MICRO_OF_SECOND, 0, 6, false).toFormatter(),
+ .appendFraction(ChronoField.MICRO_OF_SECOND, 0, 6, false)
+ .toFormatter().withResolverStyle(ResolverStyle.STRICT),
formatBuilder("%Y%m%d%H%i%s")
- .appendFraction(ChronoField.MICRO_OF_SECOND, 0, 6, true).toFormatter(),
+ .appendFraction(ChronoField.MICRO_OF_SECOND, 0, 6, true)
+ .toFormatter().withResolverStyle(ResolverStyle.STRICT),
formatBuilder("%Y%m%d%H%i%s")
- .appendFraction(ChronoField.MICRO_OF_SECOND, 0, 6, false).toFormatter(),
+ .appendFraction(ChronoField.MICRO_OF_SECOND, 0, 6, false)
+ .toFormatter().withResolverStyle(ResolverStyle.STRICT),
DATETIMEKEY_FORMATTER, DATEKEY_FORMATTER);
} catch (AnalysisException e) {
LOG.error("invalid date format", e);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org