JSqlParser
JSqlParser copied to clipboard
Modify column with "NULL" or "NOT NULL" is not getting parsed.
Actual Behavior
On parsing statement ALTER TABLE <TableName> MODIFY <ColumnName> NOT NULL getting ParseException
`Caused by: net.sf.jsqlparser.parser.ParseException: Encountered " "NOT" "NOT "" at line 1, column 51. Was expecting one of: "XML" ... "INTERVAL" ... "CHARACTER" ... "BIT" ... <K_DATETIMELITERAL> ... "DOUBLE" ... <DT_ZONE> ... <S_IDENTIFIER> ...
at net.sf.jsqlparser.parser.CCJSqlParser.generateParseException(CCJSqlParser.java:16869)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_consume_token(CCJSqlParser.java:16722)
at net.sf.jsqlparser.parser.CCJSqlParser.ColDataType(CCJSqlParser.java:9265)
at net.sf.jsqlparser.parser.CCJSqlParser.AlterExpressionColumnDataType(CCJSqlParser.java:9862)
at net.sf.jsqlparser.parser.CCJSqlParser.AlterExpression(CCJSqlParser.java:10042)
at net.sf.jsqlparser.parser.CCJSqlParser.AlterTable(CCJSqlParser.java:10279)
at net.sf.jsqlparser.parser.CCJSqlParser.SingleStatement(CCJSqlParser.java:156)
at net.sf.jsqlparser.parser.CCJSqlParser.Statement(CCJSqlParser.java:81)
at net.sf.jsqlparser.parser.CCJSqlParserUtil.parse(CCJSqlParserUtil.java:54) `
Expected Behavior
It should identify "NOT NULL"/"NULL" has been added.
Steps to Reproduce the Problem
1.Statement stmt = CCJSqlParserUtil.parse("ALTER TABLE TableName MODIFY ColumnName NOT NULL");
Specifications
- Version: 1.1
- Platform: Java 8 on windows
- Subsystem:
As far as I know is the modify command not supported (yet). Do you want to provide a PR with an initial start supporting this?
@VaibhavJain what kind of db related to this sql statement?
Still relevant with JSQLParser 4.3 Snapshot.