This is an automated email from the ASF dual-hosted git repository.
alexpl pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git
The following commit(s) were added to refs/heads/master by this push:
new cbeb07061ac IGNITE-23477 SQL Calcite: Fix parsing of incorrect date
literal - Fixes #11601.
cbeb07061ac is described below
commit cbeb07061aca37f6a7fe6a5c2dca4be97c3ec392
Author: Vladimir Steshin <[email protected]>
AuthorDate: Fri Oct 18 11:39:24 2024 +0300
IGNITE-23477 SQL Calcite: Fix parsing of incorrect date literal - Fixes
#11601.
Signed-off-by: Aleksey Plekhanov <[email protected]>
---
modules/calcite/pom.xml | 2 +-
.../integration/TableDmlIntegrationTest.java | 25 ++++++++++++++++++++++
...p.test_ignore => test_incorrect_timestamp.test} | 1 -
3 files changed, 26 insertions(+), 2 deletions(-)
diff --git a/modules/calcite/pom.xml b/modules/calcite/pom.xml
index d80b33b8258..47b7e4bbea3 100644
--- a/modules/calcite/pom.xml
+++ b/modules/calcite/pom.xml
@@ -35,7 +35,7 @@
<!-- Module specific package versions -->
<properties>
- <avatica.version>1.23.0</avatica.version>
+ <avatica.version>1.25.0</avatica.version>
<calcite.version>1.37.0</calcite.version>
<checker.version>3.10.0</checker.version>
<failureaccess.version>1.0.1</failureaccess.version>
diff --git
a/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/integration/TableDmlIntegrationTest.java
b/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/integration/TableDmlIntegrationTest.java
index b8f28c278fe..19027353fb3 100644
---
a/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/integration/TableDmlIntegrationTest.java
+++
b/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/integration/TableDmlIntegrationTest.java
@@ -629,6 +629,31 @@ public class TableDmlIntegrationTest extends
AbstractBasicIntegrationTransaction
}
}
+ /** */
+ @Test
+ public void testInsertIncorrectDate() {
+ sql("CREATE TABLE timestamp_t(t TIMESTAMP) WITH " + atomicity());
+
+ String errDate = "Invalid DATE value";
+ String errDay = "Value of DAY field is out of range";
+ Class<? extends Exception> errType = IllegalArgumentException.class;
+
+ assertThrows("INSERT INTO timestamp_t VALUES ('blabla')", errType,
errDate);
+ assertThrows("INSERT INTO timestamp_t VALUES ('1993-20-14 00:00:00')",
errType, errDate);
+ assertThrows("INSERT INTO timestamp_t VALUES ('1993-08-99 00:00:00')",
errType, errDate);
+ assertThrows("INSERT INTO timestamp_t VALUES ('1993-02-29 00:00:00')",
errType, errDay);
+ assertThrows("INSERT INTO timestamp_t VALUES ('1900-02-29 00:00:00')",
errType, errDay);
+ sql("INSERT INTO timestamp_t VALUES ('1992-02-29 00:00:00')");
+ sql("INSERT INTO timestamp_t VALUES ('2000-02-29 00:00:00')");
+ assertThrows("INSERT INTO timestamp_t VALUES ('02-02-1992 00:00:00')",
errType, errDate);
+ assertThrows("INSERT INTO timestamp_t VALUES ('1900-1-1 59:59:23')",
errType, errDate);
+ assertThrows("INSERT INTO timestamp_t VALUES ('1900a01a01 00:00:00')",
errType, errDate);
+ assertThrows("INSERT INTO timestamp_t VALUES ('1900-1-1 00;00;00')",
errType, errDate);
+ assertThrows("INSERT INTO timestamp_t VALUES ('1900-1-1 00a00a00')",
errType, errDate);
+ assertThrows("INSERT INTO timestamp_t VALUES ('1900-1-1 00/00/00')",
errType, errDate);
+ assertThrows("INSERT INTO timestamp_t VALUES ('1900-1-1 00-00-00')",
errType, errDate);
+ }
+
/** */
private void checkDefaultValue(String sqlType, String sqlVal, Object
expectedVal) {
try {
diff --git
a/modules/calcite/src/test/sql/types/timestamp/test_incorrect_timestamp.test_ignore
b/modules/calcite/src/test/sql/types/timestamp/test_incorrect_timestamp.test
similarity index 95%
rename from
modules/calcite/src/test/sql/types/timestamp/test_incorrect_timestamp.test_ignore
rename to
modules/calcite/src/test/sql/types/timestamp/test_incorrect_timestamp.test
index 8901fc6e3b6..cc64d410c13 100644
---
a/modules/calcite/src/test/sql/types/timestamp/test_incorrect_timestamp.test_ignore
+++ b/modules/calcite/src/test/sql/types/timestamp/test_incorrect_timestamp.test
@@ -1,7 +1,6 @@
# name: test/sql/types/timestamp/test_incorrect_timestamp.test
# description: Test out of range/incorrect timestamp formats
# group: [timestamp]
-# Ignore https://issues.apache.org/jira/browse/IGNITE-15623
statement ok
PRAGMA enable_verification