You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The LIMIT and OFFSET present at the end of a UNION query should be associated with the UNION query as a whole. Currently, it is being associated with the last SELECT query in the UNION.
To Reproduce
Steps to reproduce the behavior:
Example SQL
SELECT*FROM table1 UNIONSELECT*FROM table2 ORDER BY col LIMIT4 OFFSET 5
Parsing this SQL using JSqlParser with this statements
SelectunionQuery = (Select) CCJSqlParserUtil.parse("SELECT * FROM table1 UNION SELECT * FROM table2 ORDER BY col LIMIT 4 OFFSET 5");
SetOperationListunionQueries = (SetOperationList) unionQuery.getSelectBody();
System.out.println("Limit: " + unionQueries.getLimit() + "; Offset: " + unionQueries.getOffset());
unionQueries.getSelects().forEach(query -> {
PlainSelectplainQuery = (PlainSelect) query;
System.out.println("Limit: " + plainQuery.getLimit() + "; Offset: " + plainQuery.getOffset());
});
Note: Similar to #899
Describe the bug
The LIMIT and OFFSET present at the end of a UNION query should be associated with the UNION query as a whole. Currently, it is being associated with the last SELECT query in the UNION.
To Reproduce
Steps to reproduce the behavior:
Actual behavior
Expected behavior
Reference
System
The text was updated successfully, but these errors were encountered: