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 <[email protected]>
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 <[email protected]>
---
.../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.
*/