diff --git a/jdbc-v2/src/main/antlr4/com/clickhouse/jdbc/internal/ClickHouseParser.g4 b/jdbc-v2/src/main/antlr4/com/clickhouse/jdbc/internal/ClickHouseParser.g4 index a1dea4092..1353a5e83 100644 --- a/jdbc-v2/src/main/antlr4/com/clickhouse/jdbc/internal/ClickHouseParser.g4 +++ b/jdbc-v2/src/main/antlr4/com/clickhouse/jdbc/internal/ClickHouseParser.g4 @@ -975,6 +975,16 @@ keywordForAlias | FIRST | ID | KEY + | SOURCE + | AFTER + | CASE + | CLUSTER + | CURRENT + | INDEX + | TABLES + | TEST + | VIEW + | PRIMARY ; alias diff --git a/jdbc-v2/src/test/java/com/clickhouse/jdbc/PreparedStatementTest.java b/jdbc-v2/src/test/java/com/clickhouse/jdbc/PreparedStatementTest.java index 6f7a252c9..a183a5c38 100644 --- a/jdbc-v2/src/test/java/com/clickhouse/jdbc/PreparedStatementTest.java +++ b/jdbc-v2/src/test/java/com/clickhouse/jdbc/PreparedStatementTest.java @@ -768,7 +768,7 @@ void testBatchInsertWithRowBinary(String sql, Class implClass) throws Exception int[] result = stmt.executeBatch(); for (int r : result) { - Assert.assertEquals(r, 1); + Assert.assertTrue(r == 1 || r == PreparedStatement.SUCCESS_NO_INFO); } } diff --git a/jdbc-v2/src/test/java/com/clickhouse/jdbc/internal/SqlParserTest.java b/jdbc-v2/src/test/java/com/clickhouse/jdbc/internal/SqlParserTest.java index 11d4908f4..2b4c14754 100644 --- a/jdbc-v2/src/test/java/com/clickhouse/jdbc/internal/SqlParserTest.java +++ b/jdbc-v2/src/test/java/com/clickhouse/jdbc/internal/SqlParserTest.java @@ -1,10 +1,16 @@ package com.clickhouse.jdbc.internal; +import org.antlr.v4.runtime.tree.TerminalNode; import org.testng.Assert; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertFalse; import static org.testng.Assert.assertTrue; @@ -275,6 +281,18 @@ public Object[][] testMiscStmtDp() { return new Object[][] { {"SELECT INTERVAL '1 day'", 0}, {"SELECT INTERVAL 1 day", 0}, + {"SELECT * FROM table key WHERE ts = ?", 1}, + {"SELECT * FROM table source WHERE ts = ?", 1}, + {"SELECT * FROM table after WHERE ts = ?", 1}, + {"SELECT * FROM table before WHERE ts = ?", 1}, + {"SELECT * FROM table case WHERE ts = ?", 1}, + {"SELECT * FROM table cluster WHERE ts = ?", 1}, + {"SELECT * FROM table current WHERE ts = ?", 1}, + {"SELECT * FROM table index WHERE ts = ?", 1}, + {"SELECT * FROM table tables WHERE ts = ?", 1}, + {"SELECT * FROM table test WHERE ts = ?", 1}, + {"SELECT * FROM table view WHERE ts = ?", 1}, + {"SELECT * FROM table primary WHERE ts = ?", 1}, }; } } \ No newline at end of file