Skip to content

Commit 8d96780

Browse files
authored
[fix] Enable qualified table name for DROP INDEX command (#2344)
Thank you for your contribution.
1 parent 999cdca commit 8d96780

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed

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

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8787,8 +8787,15 @@ Drop Drop():
87878787

87888788
name = Table() { drop.setName(name); }
87898789
[ LOOKAHEAD(2) funcArgs = FuncArgsList() ]
8790-
((tk=<S_IDENTIFIER> | tk=<K_CASCADE> | tk=<K_RESTRICT> | tk=<K_ON>) { dropArgs.add(tk.image); })*
8791-
8790+
(
8791+
(
8792+
tk=<S_IDENTIFIER> | tk=<K_CASCADE> | tk=<K_RESTRICT>
8793+
) { dropArgs.add(tk.image); }
8794+
|
8795+
(
8796+
<K_ON> name = Table() { dropArgs.add("ON"); dropArgs.add(name.toString()); }
8797+
)
8798+
)*
87928799
{
87938800
if (dropArgs.size() > 0) {
87948801
drop.setParameters(dropArgs);

src/test/java/net/sf/jsqlparser/statement/drop/DropTest.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,16 @@ public void testDropIndexOnTable() throws JSQLParserException {
5353
assertSqlCanBeParsedAndDeparsed("DROP INDEX idx ON abc");
5454
}
5555

56+
@Test
57+
public void testDropIndexOnQualifiedTable() throws JSQLParserException {
58+
assertSqlCanBeParsedAndDeparsed("DROP INDEX idx ON qual.tbl");
59+
}
60+
61+
@Test
62+
public void testDropIndexOnDoubleQualifiedTable() throws JSQLParserException {
63+
assertSqlCanBeParsedAndDeparsed("DROP INDEX idx ON dbl.qual.tbl");
64+
}
65+
5666
@Test
5767
public void testDrop2() throws JSQLParserException {
5868
Drop drop = (Drop) parserManager.parse(new StringReader("DROP TABLE \"testtable\""));

0 commit comments

Comments
 (0)