Skip to content

Commit 0bb2358

Browse files
committed
fixes #180
1 parent a369537 commit 0bb2358

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -312,10 +312,10 @@ Statements Statements() #Statements :
312312
List<Statement> list = new ArrayList<Statement>();
313313
Statement stm; }
314314
{
315+
(";")*
315316
stm = SingleStatement() { list.add(stm); }
316-
(LOOKAHEAD(2) ";" stm = SingleStatement() { list.add(stm); } )*
317+
( (";") [ stm = SingleStatement() { list.add(stm); } ] )*
317318

318-
[";"]
319319
<EOF>
320320

321321
{

src/test/java/net/sf/jsqlparser/statement/StatementsTest.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,4 +49,15 @@ public void testStatements() throws JSQLParserException {
4949
assertTrue(parseStatements.getStatements().get(1) instanceof Select);
5050
}
5151

52+
@Test
53+
public void testStatementsProblem() throws JSQLParserException {
54+
String sqls = ";;select * from mytable;;select * from mytable2;;;";
55+
Statements parseStatements = CCJSqlParserUtil.parseStatements(sqls);
56+
57+
assertEquals("SELECT * FROM mytable;\nSELECT * FROM mytable2;\n", parseStatements.toString());
58+
59+
assertTrue(parseStatements.getStatements().get(0) instanceof Select);
60+
assertTrue(parseStatements.getStatements().get(1) instanceof Select);
61+
}
62+
5263
}

0 commit comments

Comments
 (0)