Skip to content

ClickHouse: add EMPTY_LIST_OF_COLUMNS_PASSED to expected errors - #1296

Merged
mrigger merged 1 commit into
sqlancer:mainfrom
alexey-milovidov:fix-clickhouse-non-insertable-columns
Mar 24, 2026
Merged

mrigger merged 1 commit into
sqlancer:mainfrom
alexey-milovidov:fix-clickhouse-non-insertable-columns

Conversation

@alexey-milovidov

Copy link
Copy Markdown
Contributor

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 causes an AssertionError in SQLancer.

This adds the error to the expected errors list. The table creation retry loop in ClickHouseProvider.generateDatabase already handles expected errors by regenerating the table definition, so this fix is sufficient.

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.
alexey-milovidov added a commit to ClickHouse/ClickHouse that referenced this pull request Mar 1, 2026
SQLancer was disabled after #81835
which forbids creating tables without insertable columns (e.g., with only
`MATERIALIZED` or `ALIAS` columns). SQLancer's random table generator could
produce such definitions, causing an `AssertionError`.

The fix adds `EMPTY_LIST_OF_COLUMNS_PASSED` to SQLancer's expected errors.
The table creation retry loop in `ClickHouseProvider.generateDatabase` already
handles expected errors by regenerating the table definition.

The fix was submitted upstream: sqlancer/sqlancer#1296
and applied to the ClickHouse fork: https://github.com/ClickHouse/sqlancer

This PR switches CI to use the ClickHouse fork (pinned to a specific commit)
and re-enables the SQLancer job in the master workflow.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@mrigger
mrigger merged commit ea75bbe into sqlancer:main Mar 24, 2026
15 of 26 checks passed
@mrigger

mrigger commented Mar 24, 2026

Copy link
Copy Markdown
Contributor

Sorry, I completely overlooked this PR!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants