JSqlParser
JSqlParser copied to clipboard
Failed to Parse Alter table XXX add colum(MySQL:GENERATED ALWAYS AS)
Actual Behavior
the sql is as follow:
alter table tbl_demo add column demo_url varchar(128) GENERATED ALWAYS AS (JSON_UNQUOTE(detail->'$.myurl'));
Expected Behavior
parse normally for [GENERATED ALWAYS AS] of MySQL.
Steps to Reproduce the Problem
CCJSqlParserManager pm = new CCJSqlParserManager();
net.sf.jsqlparser.statement.Statement statement = pm.parse(new StringReader(ddl));
Exception
Caused by: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "AS" "AS"
at line 3, column 80.
Was expecting one of:
"("
"+"
","
"-"
"."
";"
"="
"CASCADE"
"CHECK"
"COMMIT"
"CONSTRAINT"
"DELETE"
"EXCLUDE"
"FOREIGN"
"KEY"
"NOT"
"NULL"
"ON"
"PRIMARY"
"REFERENCES"
"ROWS"
"TABLESPACE"
"TEMP"
"TEMPORARY"
"UNIQUE"
"UNSIGNED"
"UPDATE"
"USING"
"WHERE"
"WITH"
<EOF>
<K_TIME_KEY_EXPR>
<S_CHAR_LITERAL>
<S_DOUBLE>
<S_IDENTIFIER>
<S_LONG>
<S_QUOTED_IDENTIFIER>
at net.sf.jsqlparser.parser.CCJSqlParser.generateParseException(CCJSqlParser.java:18047)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_consume_token(CCJSqlParser.java:17900)
at net.sf.jsqlparser.parser.CCJSqlParser.Statement(CCJSqlParser.java:91)
at net.sf.jsqlparser.parser.CCJSqlParserManager.parse(CCJSqlParserManager.java:38)
... 4 more
Caused by:
net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "AS" "AS"
at line 3, column 80.
Was expecting one of:
"("
"+"
","
"-"
"."
";"
"="
"CASCADE"
"CHECK"
"COMMIT"
"CONSTRAINT"
"DELETE"
"EXCLUDE"
"FOREIGN"
"KEY"
"NOT"
"NULL"
"ON"
"PRIMARY"
"REFERENCES"
"ROWS"
"TABLESPACE"
"TEMP"
"TEMPORARY"
"UNIQUE"
"UNSIGNED"
"UPDATE"
"USING"
"WHERE"
"WITH"
<EOF>
<K_TIME_KEY_EXPR>
<S_CHAR_LITERAL>
<S_DOUBLE>
<S_IDENTIFIER>
<S_LONG>
<S_QUOTED_IDENTIFIER>
Specifications
- Version:1.2
- Platform:Win10
- Subsystem: