Refactor: extract common CREATE INDEX logic into AbstractIndexGenerator by mrigger · Pull Request #1337 · sqlancer/sqlancer · GitHub
Skip to content

Refactor: extract common CREATE INDEX logic into AbstractIndexGenerator#1337

Merged
mrigger merged 1 commit intomainfrom
refactor/abstract-index-generator
Apr 23, 2026
Merged

Refactor: extract common CREATE INDEX logic into AbstractIndexGenerator#1337
mrigger merged 1 commit intomainfrom
refactor/abstract-index-generator

Conversation

@mrigger
Copy link
Copy Markdown
Contributor

@mrigger mrigger commented Apr 23, 2026

Introduce AbstractIndexGenerator with appendCreateIndex(boolean) and appendIndexColumnList(List, boolean) helpers, and convert nine concrete index generators (DuckDB, Doris, Presto, YCQL, TiDB, MariaDB, Materialize, Postgres, YSQL) from static-utility classes to instance-based subclasses whose logic lives in buildStatement().

Public entry points (getQuery/generate) are preserved so callers in the provider classes don't need to change.

Introduce AbstractIndexGenerator<C> with appendCreateIndex(boolean) and
appendIndexColumnList(List<C>, boolean) helpers, and convert nine
concrete index generators (DuckDB, Doris, Presto, YCQL, TiDB, MariaDB,
Materialize, Postgres, YSQL) from static-utility classes to
instance-based subclasses whose logic lives in buildStatement().

Public entry points (getQuery/generate) are preserved so callers in the
provider classes don't need to change.
@mrigger mrigger merged commit fde20f5 into main Apr 23, 2026
21 of 26 checks passed
@mrigger mrigger deleted the refactor/abstract-index-generator branch April 23, 2026 06:13
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