You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by al...@apache.org on 2023/01/26 06:13:38 UTC
[ignite] branch master updated: IGNITE-18511 SQL Calcite: Add details to Calcite parser exception - Fixes #10479.
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 76504371325 IGNITE-18511 SQL Calcite: Add details to Calcite parser exception - Fixes #10479.
76504371325 is described below
commit 76504371325803341e6a9162b1367478877a0122
Author: Ilhom Ulmasov <il...@gmail.com>
AuthorDate: Thu Jan 26 09:11:25 2023 +0300
IGNITE-18511 SQL Calcite: Add details to Calcite parser exception - Fixes #10479.
Signed-off-by: Aleksey Plekhanov <pl...@gmail.com>
---
.../internal/processors/query/calcite/util/Commons.java | 2 +-
.../calcite/integration/TableDdlIntegrationTest.java | 15 +++++++++++++++
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/util/Commons.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/util/Commons.java
index fb51d5e9586..442ca86f000 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/util/Commons.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/util/Commons.java
@@ -204,7 +204,7 @@ public final class Commons {
return parse(new SourceStringReader(qry), parserCfg);
}
catch (SqlParseException e) {
- throw new IgniteSQLException("Failed to parse query.", IgniteQueryErrorCode.PARSING, e);
+ throw new IgniteSQLException("Failed to parse query. " + e.getMessage(), IgniteQueryErrorCode.PARSING, e);
}
}
diff --git a/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/integration/TableDdlIntegrationTest.java b/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/integration/TableDdlIntegrationTest.java
index e8932f5dd27..57d09f5fe1e 100644
--- a/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/integration/TableDdlIntegrationTest.java
+++ b/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/integration/TableDdlIntegrationTest.java
@@ -281,6 +281,21 @@ public class TableDdlIntegrationTest extends AbstractDdlIntegrationTest {
sql("create table if not exists my_table (id int, val varchar)");
}
+ /**
+ * Create table using reserved word
+ */
+ @Test
+ public void createTableUseReservedWord() {
+ assertThrows("create table table (id int primary key, val varchar)", IgniteSQLException.class,
+ "Failed to parse query. Encountered \"table table\"");
+
+ sql("create table \"table\" (id int primary key, val varchar)");
+
+ sql("insert into \"table\" (id, val) values (0, '1')");
+
+ assertQuery("select * from \"table\" ").returns(0, "1").check();
+ }
+
/**
* Creates a table without a primary key and then insert a few rows.
*/