Skip to content

Share CREATE INDEX options with its index definition - #2741

Open
minleejae wants to merge 2 commits into
JSQLParser:masterfrom
minleejae:refactor/ddl-index-options-20261001
Open

minleejae wants to merge 2 commits into
JSQLParser:masterfrom
minleejae:refactor/ddl-index-options-20261001

Conversation

@minleejae

Copy link
Copy Markdown
Contributor

Store INCLUDE, NULLS DISTINCT, storage parameters and tablespace on the contained Index. Both statement-level and Index APIs now observe edits. Preserve option setup before attaching an index, retain options on detachment, isolate detached containers and avoid visiting storage expressions twice.

Existing parser result classes and public method signatures are retained. This change does not expand grammar or dialect acceptance. New-index options take precedence, and missing options inherit current values. List setters now follow Index semantics: copy the input container and expose a mutable live getter; callers should mutate the returned list rather than a previously supplied container.

Validation: 90 focused tests pass for the initial refactor; 33 focused tests pass after adding detached-state regression coverage. Spotless passed.

Combined validation with the six related DDL refactoring branches: Gradle check passes (9,395 tests: 9,370 passed, 25 skipped, zero failures). Of 840 DDL cases accepted by MySQL 8.4.11/PostgreSQL 18.6, 835 parse and produce toString/deparser SQL that also executes successfully; the remaining 5 already fail to parse on base 87e8814. Final SQL outputs match the DB-replayed outputs exactly. These combined checks supplement the branch-specific tests above.

Signed-off-by: minleejae <mmj9808@gmail.com>
Signed-off-by: minleejae <mmj9808@gmail.com>
@minleejae
minleejae marked this pull request as ready for review October 1, 2026 15:21

This branch has not been deployed

No deployments
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