This is an automated email from the ASF dual-hosted git repository.

mihaibudiu pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/calcite.git


The following commit(s) were added to refs/heads/main by this push:
     new 3774ade072 [CALCITE-7526] Incorrect TIMESTAMP WITH TIME ZONE produces 
wrong error message
3774ade072 is described below

commit 3774ade07252ec5b9561c70bf64b9d264e1efabc
Author: Mihai Budiu <[email protected]>
AuthorDate: Thu May 14 11:52:14 2026 -0700

    [CALCITE-7526] Incorrect TIMESTAMP WITH TIME ZONE produces wrong error 
message
    
    Signed-off-by: Mihai Budiu <[email protected]>
---
 .../apache/calcite/util/TimestampWithTimeZoneString.java   |  2 +-
 .../test/java/org/apache/calcite/rex/RexProgramTest.java   | 14 ++++++++++++++
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git 
a/core/src/main/java/org/apache/calcite/util/TimestampWithTimeZoneString.java 
b/core/src/main/java/org/apache/calcite/util/TimestampWithTimeZoneString.java
index 5816b12a65..52e9eb6d4f 100644
--- 
a/core/src/main/java/org/apache/calcite/util/TimestampWithTimeZoneString.java
+++ 
b/core/src/main/java/org/apache/calcite/util/TimestampWithTimeZoneString.java
@@ -68,7 +68,7 @@ public TimestampWithTimeZoneString(String v) {
 
     if (pos == -1) {
       throw RESOURCE.illegalLiteral("TIMESTAMP WITH LOCAL TIME ZONE", v,
-              RESOURCE.badFormat(TIMESTAMP_FORMAT_STRING).str()).ex();
+              RESOURCE.badFormat(TIMESTAMP_FORMAT_STRING + " 
zone").str()).ex();
     }
 
     String tsStr = v.substring(0, pos);
diff --git a/core/src/test/java/org/apache/calcite/rex/RexProgramTest.java 
b/core/src/test/java/org/apache/calcite/rex/RexProgramTest.java
index 3faf9173d6..01da3e6772 100644
--- a/core/src/test/java/org/apache/calcite/rex/RexProgramTest.java
+++ b/core/src/test/java/org/apache/calcite/rex/RexProgramTest.java
@@ -3413,6 +3413,20 @@ private SqlOperator getNoDeterministicOperator() {
     assertThat(timestampLTZChar1.equals(timestampLTZChar4), is(true));
   }
 
+  /** Test case for <a 
href="https://issues.apache.org/jira/browse/CALCITE-7526";>[CALCITE-7526]
+   * Incorrect TIMESTAMP WITH TIME ZONE produces wrong error message</a>. */
+  @Test void testMalformedTimezone() {
+    try {
+      new 
TimestampWithTimeZoneString("2011-07-20T10:34:56America/Los_Angeles");
+    } catch (Exception ex) {
+      assertThat(
+          ex.getMessage(), is("Illegal TIMESTAMP WITH LOCAL TIME ZONE literal "
+          + "'2011-07-20T10:34:56America/Los_Angeles': not in format 
'yyyy-MM-dd HH:mm:ss zone'"));
+      return;
+    }
+    fail("Should not be reached");
+  }
+
   @Test void testSimplifyLiterals() {
     final RexLiteral literalAbc = rexBuilder.makeLiteral("abc");
     final RexLiteral literalDef = rexBuilder.makeLiteral("def");

Reply via email to