Skip to content

Commit 578909f

Browse files
committed
corrected some lookaheads parsing delete statements
1 parent 657eaf3 commit 578909f

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ Also I would like to know about needed examples or documentation stuff.
4242

4343
## Extensions in the latest SNAPSHOT version 0.9.6
4444

45+
* support for delete with join table
4546
* support for Alter with multiple ADD/DROP expressions
4647
* support for **ON DELETE SET NULL** for create table
4748
* added AST node support for subselect, withitem, function, case when

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -638,9 +638,12 @@ Delete Delete():
638638
List<OrderByElement> orderByElements;
639639
}
640640
{
641-
<K_DELETE> [table=TableWithAlias() { tables.add(table); }
642-
("," table=TableWithAlias() { tables.add(table); } )*] [<K_FROM>]
643-
[ table=TableWithAlias() joins=JoinsList() ]
641+
<K_DELETE> [LOOKAHEAD(2) (table=TableWithAlias() { tables.add(table); }
642+
("," table=TableWithAlias() { tables.add(table); } )*
643+
<K_FROM> | <K_FROM>)]
644+
645+
[ table=TableWithAlias()
646+
joins=JoinsList() ]
644647
[where=WhereClause() { delete.setWhere(where); } ]
645648
[orderByElements = OrderByElements() { delete.setOrderByElements(orderByElements); } ]
646649
[limit=PlainLimit() {delete.setLimit(limit); } ]

0 commit comments

Comments
 (0)