JSqlParser
JSqlParser copied to clipboard
ALTER INDEX sql cannot be parsed
Describe the bug ALTER INDEX not implemented
To Reproduce Steps to reproduce the behavior:
-
Example SQL ALTER INDEX idx_t_fa RENAME TO idx_t_fb;
-
Parsing this SQL using JSqlParser with this statements CCJSqlParserUtil.parse("ALTER INDEX idx_t_fa RENAME TO idx_t_fb")
-
Exception
Caused by: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "INDEX" "INDEX" at line 1, column 7.
Was expecting:
"SYSTEM"
at net.sf.jsqlparser.parser.CCJSqlParser.generateParseException(CCJSqlParser.java:31468)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_consume_token(CCJSqlParser.java:31301)
at net.sf.jsqlparser.parser.CCJSqlParser.AlterSystemStatement(CCJSqlParser.java:18197)
at net.sf.jsqlparser.parser.CCJSqlParser.SingleStatement(CCJSqlParser.java:369)
at net.sf.jsqlparser.parser.CCJSqlParser.Statement(CCJSqlParser.java:153)
at net.sf.jsqlparser.parser.CCJSqlParserUtil.parseStatement(CCJSqlParserUtil.java:188)
System
- Database you are using: PostgreSQL
- Java Version: java-1.8
- JSqlParser version: 4.4
True, it has not been implemented yet.
Worked around using UnsupportedStatement:
@Test
void testAlter() throws JSQLParserException {
String sqlStr =
"ALTER INDEX idx_t_fa RENAME TO idx_t_fb";
Statement statement = TestUtils.assertSqlCanBeParsedAndDeparsed(sqlStr, true);
Assertions.assertTrue( statement instanceof UnsupportedStatement);
}