Unify INSERT/UPDATE/DELETE generators under AbstractGenerator hierarchy by mrigger · Pull Request #1334 · sqlancer/sqlancer · GitHub
Skip to content

Unify INSERT/UPDATE/DELETE generators under AbstractGenerator hierarchy#1334

Merged
mrigger merged 2 commits intomainfrom
refactor/abstract-generator-hierarchy
Apr 22, 2026
Merged

Unify INSERT/UPDATE/DELETE generators under AbstractGenerator hierarchy#1334
mrigger merged 2 commits intomainfrom
refactor/abstract-generator-hierarchy

Conversation

@mrigger
Copy link
Copy Markdown
Contributor

@mrigger mrigger commented Apr 21, 2026

Introduce AbstractDeleteGenerator extending AbstractGenerator, and make AbstractInsertGenerator and AbstractUpdateGenerator also extend it, eliminating duplicate sb/errors field declarations across all generator classes.

Convert all 15 DELETE generators (CockroachDB, Databend, Doris, DuckDB, H2, MariaDB, Materialize, MySQL, OceanBase, Postgres, Presto, SQLite3, TiDB, YCQL, YSQL) from static-utility classes to the instance-based buildStatement() pattern. Add canonicalizeString field to AbstractGenerator (defaulting to true) so generators like Presto/Hive/Spark can opt out of semicolon canonicalization.

@mrigger mrigger force-pushed the refactor/abstract-generator-hierarchy branch 2 times, most recently from ed4d1ff to b136e40 Compare April 21, 2026 08:24
Introduce AbstractDeleteGenerator extending AbstractGenerator, and make
AbstractInsertGenerator and AbstractUpdateGenerator also extend it, eliminating
duplicate sb/errors field declarations across all generator classes.

Convert all 15 DELETE generators (CockroachDB, Databend, Doris, DuckDB, H2,
MariaDB, Materialize, MySQL, OceanBase, Postgres, Presto, SQLite3, TiDB,
YCQL, YSQL) from static-utility classes to the instance-based buildStatement()
pattern. Add canonicalizeString field to AbstractGenerator (defaulting to true)
so generators like Presto/Hive/Spark can opt out of semicolon canonicalization.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@mrigger mrigger force-pushed the refactor/abstract-generator-hierarchy branch from b136e40 to 38d14b4 Compare April 21, 2026 16:07
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@mrigger mrigger force-pushed the refactor/abstract-generator-hierarchy branch from a4f78e8 to 0eea021 Compare April 22, 2026 15:47
@mrigger mrigger merged commit 32bdc13 into main Apr 22, 2026
22 of 26 checks passed
@mrigger mrigger deleted the refactor/abstract-generator-hierarchy branch April 22, 2026 16:17
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