Skip to content

Cannot parse column rename sql without COLUMN keyword #1516

Closed

Description

@jackiezh

Describe the bug
Cannot parse column rename sql without COLUMN keyword.

To Reproduce
Steps to reproduce the behavior:

  1. Example SQL
    ALTER TABLE table_a RENAME col_a TO col_b;

  2. Parsing this SQL using JSqlParser with this statements
    CCJSqlParserUtil.parse("ALTER TABLE table_a RENAME col_a TO col_b");

  3. Exception
    net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "col_a" <S_IDENTIFIER>
    at line 1, column 28.

Was expecting:

"TO"

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.AlterExpression(CCJSqlParser.java:17874)
at net.sf.jsqlparser.parser.CCJSqlParser.AlterTable(CCJSqlParser.java:17947)
at net.sf.jsqlparser.parser.CCJSqlParser.SingleStatement(CCJSqlParser.java:267)
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

Activity

  1. manticore-projects commented on Apr 22, 2022

    @manticore-projects
    Contributor

    The supported Syntax is shown here: http://217.160.215.75:8080/jsqlformatter/_static/JSqlParserCC.xhtml#AlterTable

    Indeed the COLUMN keyword is mandatory.
    In PostgreSQL COLUMN is supported, but optional:
    ALTER TABLE [ IF EXISTS ] [ ONLY ] name [ * ] RENAME [ COLUMN ] column_name TO new_column_name

  2. added a commit that references this issue on May 9, 2022
    87e23af
  3. added a commit that references this issue on May 11, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions