Conversation
Signed-off-by: minleejae <mmj9808@gmail.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Valid MySQL table options such as
ALTER TABLE t ENGINE='InnoDB',UNION=(m1,m2), andTABLESPACE=innodb_file_per_tablewere rejected, while other options fell back to unstructured ALTER text. CREATE TABLE already handled many of the same options.Reuse the table-option parser for CREATE and ALTER, including quoted values, charset aliases, numeric options, UNION targets, and TABLESPACE storage qualifiers. Preserve legacy ALTER accessors as live projections and visit UNION table references. Space-separated options are supported alongside comma-separated ALTER actions; CONVERT TO CHARACTER SET retains its distinct meaning.
Tests cover CREATE/ALTER parity, option pairs, action and statement boundaries, AST mutations, legacy accessors, and table traversal. Executed the audit corpus on MySQL 9.7.2 and 26.7.0: all 338 server-accepted scenarios on each version pass parsing, both SQL renderers, and SHOW CREATE/catalog comparison. Unsupported engine/environment combinations are excluded from that count.
Syntax references: ALTER TABLE, CREATE TABLE.
Validation: focused tests, JavaCC ambiguity checks, Checkstyle and Spotless on this independent branch. The combined implementation also passes the full Gradle check and Maven verify; the 1,304-input prior regression corpus has no previously successful input regressions.