Skip to content

Commit 8516f71

Browse files
committed
[fix] Enable qualified table name for DROP INDEX command
1 parent f19f17e commit 8516f71

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
@@ -8782,8 +8782,15 @@ Drop Drop():
87828782

87838783
name = Table() { drop.setName(name); }
87848784
[ LOOKAHEAD(2) funcArgs = FuncArgsList() ]
8785-
((tk=<S_IDENTIFIER> | tk=<K_CASCADE> | tk=<K_RESTRICT> | tk=<K_ON>) { dropArgs.add(tk.image); })*
8786-
8785+
(
8786+
(
8787+
tk=<S_IDENTIFIER> | tk=<K_CASCADE> | tk=<K_RESTRICT>
8788+
) { dropArgs.add(tk.image); }
8789+
|
8790+
(
8791+
<K_ON> name = Table() { dropArgs.add("ON"); dropArgs.add(name.toString()); }
8792+
)
8793+
)*
87878794
{
87888795
if (dropArgs.size() > 0) {
87898796
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)