JSqlParser icon indicating copy to clipboard operation
JSqlParser copied to clipboard

[FEATURE] Parsing LOCK Clause in ALTER TABLE Using JSQLParser

Open minleejae opened this issue 1 year ago • 1 comments

Grammar or Syntax Description

The LOCK=NONE clause in ALTER TABLE statements is not correctly parsed by JSQLParser. The parser successfully parses the statement into three AlterExpression objects, but the LOCK=NONE part is treated as UNSPECIFIC instead of identifying it as a proper ALTER OPERATION related to table locking behavior. This can cause ambiguity in the interpretation of certain ALTER TABLE statements.

SQL Example

ALTER TABLE sbtest1 MODIFY COLUMN pad_3 VARCHAR(20) DEFAULT NULL, ALGORITHM=INPLACE, LOCK=NONE;

Additional context

  • Applicable RDBMS: MySQL 8.0 and later
  • JSQLParser Version: 5.0

The parsing succeeds without errors, but I believe it is necessary to add an appropriate LOCK or AlterOperation type to handle clauses like LOCK=NONE properly.

minleejae avatar Oct 18 '24 05:10 minleejae