Skip to content

Commit 014cef8

Browse files
authored
Merge pull request #3115 from ClickHouse/polyglot/jdbc-v2-new-clickhouse-keywords
jdbc-v2: allow new ClickHouse keywords in identifier positions
2 parents 2b2ac01 + 46d6fa2 commit 014cef8

2 files changed

Lines changed: 8 additions & 1 deletion

File tree

‎CHANGELOG.md‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,11 @@
153153

154154
### Bug Fixes
155155

156+
- **[jdbc-v2]** Added the non-reserved keywords `AGGREGATE`, `BOUNDED`, `EXTEND`, `HANDLER`, `IDLE`, `PROTOCOL`,
157+
`RECENT`, `TIMEOUT` and `UNORDERED` (ClickHouse `26.8+`; `IDLE`, `TIMEOUT` and `RECENT` come from the multi-word
158+
keywords `IDLE TIMEOUT` and `RECENT SAMPLES`) to the list of keywords allowed in identifier positions. The server
159+
accepts all of them as a column or table alias, so a query using one of them as an identifier must parse.
160+
(https://github.com/ClickHouse/clickhouse-java/issues/3113)
156161
- **[client-v2]** Fixed a query with statement parameters sent in the request body
157162
(`client.http.use_form_request_for_query=true`) failing with `LZ4 decompression failed ... (LZ4_DECODER_FAILED)`
158163
when client request compression and HTTP compression were both enabled. The multipart body is always sent

‎jdbc-v2/src/main/java/com/clickhouse/jdbc/internal/parser/javacc/ClickHouseSqlUtils.java‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,9 @@ private static Set<String> initAllowedKeywordAliases() {
7373
// Appended 06/26/2026
7474
"ENUM", "HYPOTHETICAL", "WHATIF",
7575
// Appended 07/21/2026
76-
"ANALYZE", "AT", "MANIFEST", "RESERVATION"
76+
"ANALYZE", "AT", "MANIFEST", "RESERVATION",
77+
// Appended 09/10/2026
78+
"AGGREGATE", "BOUNDED", "EXTEND", "HANDLER", "IDLE", "PROTOCOL", "RECENT", "TIMEOUT", "UNORDERED"
7779
);
7880
}
7981

0 commit comments

Comments
 (0)