Skip to content

ClickHouse: add EMPTY_LIST_OF_COLUMNS_PASSED to expected errors#1296

Open
alexey-milovidov wants to merge 1 commit intosqlancer:mainfrom
alexey-milovidov:fix-clickhouse-non-insertable-columns
Open

ClickHouse: add EMPTY_LIST_OF_COLUMNS_PASSED to expected errors#1296
alexey-milovidov wants to merge 1 commit intosqlancer:mainfrom
alexey-milovidov:fix-clickhouse-non-insertable-columns

Conversation

@alexey-milovidov
Copy link
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>
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.

1 participant