Skip to content

Commit a0b21c3

Browse files
committed
merge oracle hierarchical syntax into main
1 parent 6c30062 commit a0b21c3

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,11 @@ TOKEN: /* SQL Keywords. prefixed with K_ to avoid name clashes */
257257
| <K_REFERENCES:"REFERENCES">
258258
| <K_CHARACTER:"CHARACTER">
259259
| <K_VARYING:"VARYING">
260+
| <K_START:"START">
261+
| <K_CONNECT:"CONNECT">
262+
| <K_PRIOR:"PRIOR">
263+
| <K_NOCYCLE:"NOCYCLE">
264+
| <K_SIBLINGS:"SIBLINGS">
260265
}
261266

262267

src/test/java/net/sf/jsqlparser/test/select/SelectTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1129,6 +1129,11 @@ public void testNamedParameter2() throws JSQLParserException {
11291129
assertEquals("param3", namedParameter3.getName());
11301130
}
11311131

1132+
public void testComplexUnion1() throws IOException, JSQLParserException {
1133+
String stmt = "(SELECT 'abc-' || coalesce(mytab.a::varchar, '') AS a, mytab.b, mytab.c AS st, mytab.d, mytab.e FROM mytab WHERE mytab.del = 0) UNION (SELECT 'cde-' || coalesce(mytab2.a::varchar, '') AS a, mytab2.b, mytab2.bezeichnung AS c, 0 AS d, 0 AS e FROM mytab2 WHERE mytab2.del = 0)";
1134+
assertSqlCanBeParsedAndDeparsed(stmt);
1135+
}
1136+
11321137
public void testOracleHierarchicalQuery() throws JSQLParserException {
11331138
String stmt= "SELECT last_name, employee_id, manager_id FROM employees CONNECT BY employee_id = manager_id ORDER BY last_name";
11341139
assertSqlCanBeParsedAndDeparsed(stmt);

0 commit comments

Comments
 (0)