You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+15-7Lines changed: 15 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,13 +2,21 @@
2
2
3
3
### Breaking Changes
4
4
5
-
-**[jdbc-v2]** Hardcoded server setting `async_insert=0` is removed as well as others. This is done to
6
-
fix issue with overriding these settings and using client with read-only profiles. The change, first of all, makes
7
-
driver behavior to follow default what is set on server side (note: starting ClickHouse 26.3 `async_insert` is on by default).
8
-
In second, this fix changes what number of affected rows returned by method like `java.sql.Statement.executeUpdate(java.lang.String)`.
9
-
Previously they return more accurate values because insert was synchronous, but in case of asynchronous insert it is not
10
-
guaranteed anymore (see also https://github.com/ClickHouse/ClickHouse/issues/57768). Read more about asynchronous insert https://clickhouse.com/docs/optimize/asynchronous-inserts.
-**[jdbc-v2]** Hardcoded server setting `async_insert=0` is removed as well as others. This is done to
6
+
fix issue with overriding these settings and using client with read-only profiles. The change, first of all, makes
7
+
driver behavior to follow default what is set on server side (note: starting ClickHouse 26.3 `async_insert` is on by default).
8
+
In second, this fix changes what number of affected rows returned by method like `java.sql.Statement.executeUpdate(java.lang.String)`.
9
+
Previously they return more accurate values because insert was synchronous, but in case of asynchronous insert it is not
10
+
guaranteed anymore (see also https://github.com/ClickHouse/ClickHouse/issues/57768). Read more about asynchronous insert https://clickhouse.com/docs/optimize/asynchronous-inserts.
-**[jdbc-v2]** Added `cluster_name` configuration property to specify a target cluster for statements like `KILL QUERY` that require an `ON CLUSTER` clause to execute across all nodes. (https://github.com/ClickHouse/clickhouse-java/issues/2837)
16
+
17
+
### Bug Fixes
18
+
19
+
-**[client-v2]** Fixed inconsistent use of `executionTimeout` parameter in `Client` component. The timeout was previously set in milliseconds but mistakenly retrieved and used in seconds in some places. Now it correctly uses milliseconds consistently. (https://github.com/ClickHouse/clickhouse-java/issues/2358)
Copy file name to clipboardExpand all lines: docs/ai-review.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,8 @@ Use this guide across Cursor, Claude, Copilot, and other AI assistants when revi
4
4
5
5
This repository contains Java libraries and drivers for ClickHouse, including shared data types, HTTP clients, the v2 client, JDBC drivers, and R2DBC integration.
6
6
7
+
For a reusable review write-up format, use `docs/review-template.md`.
8
+
7
9
## Role
8
10
9
11
Act as an experienced maintainer and reviewer of a public Java library.
@@ -169,6 +171,8 @@ When responding to a review request:
169
171
3. Use file or symbol references where helpful.
170
172
4. Keep any change summary brief and secondary.
171
173
5. If no issues are found, say so explicitly and mention residual risk or testing gaps.
174
+
6. Use `docs/review-template.md` when a structured review summary is helpful.
175
+
7. End with exactly one verdict: `ready to merge`, `ready for human review`, or `need changes`.
Copy file name to clipboardExpand all lines: docs/features.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -49,7 +49,7 @@ Compatibility-sensitive traits:
49
49
- Schema and database context: Supports database selection through URL, `setSchema`, `USE`, and statement-level settings.
50
50
- Non-transactional operation: Exposes ClickHouse-appropriate transaction behavior with auto-commit semantics and unsupported transactional features.
51
51
- Statement execution: Supports `execute`, `executeQuery`, `executeUpdate`, large update counts, and forward-only/read-only statements.
52
-
- Query cancellation and timeout: Supports JDBC query timeout handling and query cancellation through server-side `KILL QUERY`.
52
+
- Query cancellation and timeout: Supports JDBC query timeout handling and query cancellation through server-side `KILL QUERY`, with optional JDBC `cluster_name` property support to add `ON CLUSTER '<name>'` for cluster-wide cancellation.
53
53
- Batch execution: Supports batched statements and prepared-statement batches, including multi-row rewrite for eligible `INSERT ... VALUES` statements.
54
54
- Prepared statements: Supports `?` parameters through client-side SQL rendering and validates that all parameters are bound before execution.
55
55
- SQL parsing and classification: Classifies SQL to distinguish queries, updates, inserts, `USE`, and role-changing statements, with selectable parser backends.
@@ -67,6 +67,7 @@ Compatibility-sensitive traits:
67
67
Compatibility-sensitive traits:
68
68
69
69
- Prepared statements are client-side SQL rendering, not server-side prepared statements. Changes to literal encoding or placeholder parsing are externally visible behavior.
70
+
- JDBC `cluster_name` is compatibility-sensitive for cancellation behavior: when configured, `Statement.cancel()` issues `KILL QUERY ON CLUSTER '<name>'`, and when omitted it falls back to a local `KILL QUERY`.
70
71
- String parameters are escaped with backslash-based escaping: backslashes are doubled and single quotes are backslash-escaped before values are wrapped in single quotes.
71
72
-`?` placeholder detection is SQL-aware and should not treat question marks inside quoted strings, quoted identifiers, comments, casts, or similar syntax as bind parameters.
72
73
- String-like ClickHouse values have stable JDBC expectations: `String`, `FixedString`, and `Enum` values are returned as strings, while `UUID` is available both as `getString()` and `getObject(..., UUID.class)`.
Use this template when writing a review summary for a pull request or patch.
4
+
5
+
## Findings
6
+
7
+
List findings first and order them by severity.
8
+
9
+
### High
10
+
11
+
- None.
12
+
13
+
### Medium
14
+
15
+
- None.
16
+
17
+
### Low
18
+
19
+
- None.
20
+
21
+
## Human Review Instructions for Important Changes
22
+
23
+
Ask a human reviewer to inspect important changes directly when the diff touches any of the following:
24
+
25
+
- public API surface such as public classes, interfaces, methods, constructors, fields, or enums
26
+
- behavioral compatibility such as defaults, retries, timeouts, parsing, serialization, formatting, or exception behavior
27
+
- JDBC or R2DBC semantics, driver metadata, or type mappings
28
+
- documented features in `docs/features.md`
29
+
- security-sensitive code, authentication, credentials, or network-facing behavior
30
+
- cross-module contracts where the same concept exists in multiple modules
31
+
32
+
When human review is needed, call out the exact risk and what should be checked, for example:
33
+
34
+
- verify that no public signature changed
35
+
- verify that output format and serialized values are unchanged
36
+
- verify that existing callers keep the same default behavior
37
+
- verify that focused tests cover compatibility-sensitive paths
38
+
- verify whether `docs/features.md` or other docs need updates
39
+
40
+
## Verdict
41
+
42
+
Choose exactly one verdict:
43
+
44
+
-`ready to merge`: no blocking issues found and no additional human sign-off is needed beyond normal review flow
45
+
-`ready for human review`: no blocking issues found by AI, but the change is important enough that a human should confirm compatibility, behavior, or product intent
46
+
-`need changes`: blocking issues, regressions, compatibility risk, or missing validation were found and should be addressed before merge
47
+
48
+
## Copy/Paste Template
49
+
50
+
```md
51
+
## Findings
52
+
53
+
### High
54
+
- None.
55
+
56
+
### Medium
57
+
- None.
58
+
59
+
### Low
60
+
- None.
61
+
62
+
## Human Review Instructions for Important Changes
0 commit comments