Skip to content

Commit 97c0333

Browse files
committed
- Create View corrected in using set operations
1 parent b24c1c7 commit 97c0333

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

src/main/javacc/net/sf/jsqlparser/parser/JSqlParserCC.jj

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1861,10 +1861,9 @@ CreateView CreateView():
18611861
[ columnNames = ColumnsNamesList() { createView.setColumnNames(columnNames); } ]
18621862
<K_AS>
18631863
(
1864-
LOOKAHEAD(3)
1865-
"(" select=SelectBody() ")" { createView.setSelectBody(select); }
1864+
LOOKAHEAD(SelectBody()) select=SelectBody() { createView.setSelectBody(select); }
18661865
|
1867-
select=SelectBody() { createView.setSelectBody(select); }
1866+
"(" select=SelectBody() ")" { createView.setSelectBody(select); }
18681867
)
18691868
{ return createView; }
18701869
}

src/test/java/net/sf/jsqlparser/test/create/CreateViewTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,11 @@ public void testCreateView5() throws JSQLParserException {
5959
assertEquals("mytab", ((Table) ((PlainSelect) createView.getSelectBody()).getFromItem()).getName());
6060
assertEquals(statement2, createView.toString());
6161
}
62+
63+
public void testCreateViewUnion() throws JSQLParserException {
64+
String stmt = "CREATE VIEW view1 AS (SELECT a, b FROM testtab) UNION (SELECT b, c FROM testtab2)";
65+
assertSqlCanBeParsedAndDeparsed(stmt);
66+
}
6267

6368
private void assertSqlCanBeParsedAndDeparsed(String statement) throws JSQLParserException {
6469
Statement parsed = parserManager.parse(new StringReader(statement));

0 commit comments

Comments
 (0)