JSqlParser icon indicating copy to clipboard operation
JSqlParser copied to clipboard

ALTER INDEX sql cannot be parsed

Open jackiezh opened this issue 3 years ago • 1 comments

Describe the bug ALTER INDEX not implemented

To Reproduce Steps to reproduce the behavior:

  1. Example SQL ALTER INDEX idx_t_fa RENAME TO idx_t_fb;

  2. Parsing this SQL using JSqlParser with this statements CCJSqlParserUtil.parse("ALTER INDEX idx_t_fa RENAME TO idx_t_fb")

  3. 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

jackiezh avatar Apr 22 '22 05:04 jackiezh

True, it has not been implemented yet.

manticore-projects avatar Apr 22 '22 12:04 manticore-projects

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);
    }

manticore-projects avatar May 16 '23 15:05 manticore-projects