◐ Shell
clean mode source ↗

ClickHouse: Upgrade JDBC driver from 0.3.2 to 0.9.6 by alexey-milovidov · Pull Request #1297 · sqlancer/sqlancer

and others added 2 commits

March 1, 2026 05:02
ClickHouse PR ClickHouse/ClickHouse#81835
added a check that forbids creating tables without insertable columns
(e.g., tables with only MATERIALIZED or ALIAS columns). Since SQLancer's
random table generator can produce such definitions, ClickHouse now
returns EMPTY_LIST_OF_COLUMNS_PASSED, which should be treated as an
expected error rather than causing an AssertionError.

The table creation retry loop in ClickHouseProvider.generateDatabase
already handles expected errors by regenerating the table definition.
The old driver (ru.yandex.clickhouse:clickhouse-jdbc:0.3.2) failed to
decompress error responses from the server, throwing
"Magic is not correct" IOException instead of reporting the actual
ClickHouse error message. This caused SQLancer to treat expected errors
(like ILLEGAL_TYPE_OF_ARGUMENT) as assertion failures, because the
JDBC exception message didn't contain the expected error substrings.

Changes:
- Update Maven dependency from ru.yandex.clickhouse:clickhouse-jdbc:0.3.2
  to com.clickhouse:clickhouse-jdbc:0.9.6 (with "all" classifier)
- Update all imports from com.clickhouse.client.ClickHouseDataType
  to com.clickhouse.data.ClickHouseDataType (package was renamed)
- Add "Magic is not correct" to expected errors as safety net

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>