Skip to content

Commit e8f0750

Browse files
#1516 rename without column keyword (#1533)
* Adjust Gradle to JUnit 5 Parallel Test execution Gradle Caching Explicitly request for latest JavaCC 7.0.10 * Do not mark SpeedTest for concurrent execution * Remove unused imports * Adjust Gradle to JUnit 5 Parallel Test execution Gradle Caching Explicitly request for latest JavaCC 7.0.10 * Do not mark SpeedTest for concurrent execution * Remove unused imports * `RENAME ... TO ...` without `COLUMN` keyword Fixes #1516
1 parent de0e871 commit e8f0750

File tree

2 files changed

+9
-8
lines changed

2 files changed

+9
-8
lines changed

src/main/jjtree/net/sf/jsqlparser/parser/JSqlParserCC.jjt

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5724,13 +5724,9 @@ AlterExpression AlterExpression():
57245724
)
57255725
)
57265726
|
5727-
(<K_CHANGE>
5728-
{
5729-
alterExp.setOperation(AlterOperation.CHANGE);
5730-
}
5731-
(
5732-
<K_COLUMN> { alterExp.hasColumn(true); alterExp.setOptionalSpecifier("COLUMN"); } | {}
5733-
)
5727+
(
5728+
<K_CHANGE> { alterExp.setOperation(AlterOperation.CHANGE); }
5729+
[ <K_COLUMN> { alterExp.hasColumn(true); alterExp.setOptionalSpecifier("COLUMN"); } ]
57345730
(
57355731
(tk=<S_IDENTIFIER> | tk=<S_QUOTED_IDENTIFIER>)
57365732
alterExpressionColumnDataType = AlterExpressionColumnDataType() { alterExp.withColumnOldName(tk.image).addColDataType(alterExpressionColumnDataType); }
@@ -5806,7 +5802,7 @@ AlterExpression AlterExpression():
58065802
sk3 = RelObjectName() {alterExp.addParameters(sk3); }
58075803
)
58085804
|
5809-
LOOKAHEAD(2) <K_RENAME> <K_COLUMN> { alterExp.setOperation(AlterOperation.RENAME); alterExp.hasColumn(true);}
5805+
LOOKAHEAD(2) <K_RENAME> { alterExp.setOperation(AlterOperation.RENAME); } [ <K_COLUMN> { alterExp.hasColumn(true);} ]
58105806
( tk=<S_IDENTIFIER> | tk=<S_QUOTED_IDENTIFIER> ) { alterExp.setColOldName(tk.image); }
58115807
<K_TO>
58125808
(tk2=<S_IDENTIFIER> | tk2=<S_QUOTED_IDENTIFIER>) { alterExp.setColumnName(tk2.image); }

src/test/java/net/sf/jsqlparser/statement/alter/AlterTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -471,6 +471,7 @@ public void testAlterTableAlterColumnDropNotNullIssue918() throws JSQLParserExce
471471

472472
@Test
473473
public void testAlterTableRenameColumn() throws JSQLParserException {
474+
// With Column Keyword
474475
String sql = "ALTER TABLE \"test_table\" RENAME COLUMN \"test_column\" TO \"test_c\"";
475476
assertSqlCanBeParsedAndDeparsed(sql);
476477

@@ -479,6 +480,10 @@ public void testAlterTableRenameColumn() throws JSQLParserException {
479480
assertEquals(expression.getOperation(), AlterOperation.RENAME);
480481
assertEquals(expression.getColOldName(), "\"test_column\"");
481482
assertEquals(expression.getColumnName(), "\"test_c\"");
483+
484+
// Without Column Keyword
485+
sql = "ALTER TABLE \"test_table\" RENAME \"test_column\" TO \"test_c\"";
486+
assertSqlCanBeParsedAndDeparsed(sql);
482487
}
483488

484489
@Test

0 commit comments

Comments
 (0)