[
https://issues.apache.org/jira/browse/CALCITE-5194?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Julian Hyde resolved CALCITE-5194.
----------------------------------
Resolution: Fixed
Fixed in
[d40b55cb|https://github.com/apache/calcite/commit/d40b55cb7af21d170ff10eff026351d8b034b917].
> Cannot parse parenthesized UNION in subquery
> --------------------------------------------
>
> Key: CALCITE-5194
> URL: https://issues.apache.org/jira/browse/CALCITE-5194
> Project: Calcite
> Issue Type: Bug
> Affects Versions: 1.31.0
> Reporter: Vova Vysotskyi
> Assignee: Julian Hyde
> Priority: Blocker
> Fix For: 1.31.0
>
>
> The following test:
> {code:java}
> @Test void testUnionAllInSubquery() {
> final String sql = "select * from \n" +
> "((select columns[0] as col0 from emps t1) \n" +
> "union all \n" +
> "(select columns[0] c2 from emps t2))";
> final String expected = "SELECT *\n"
> + "FROM (SELECT `COLUMNS`[0] AS `COL0`\n"
> + "FROM `EMPS` AS `T1`\n"
> + "UNION ALL\n"
> + "SELECT `COLUMNS`[0] AS `C2`\n"
> + "FROM `EMPS` AS `T2`)";
> sql(sql).ok(expected);
> }
> {code}
> Fails with the following exception:
> {noformat}
> Caused by: org.apache.calcite.sql.parser.SqlParseException: Encountered
> "union" at line 3, column 1.
> Was expecting one of:
> "AS" ...
> "CROSS" ...
> "FULL" ...
> "INNER" ...
> "JOIN" ...
> "LEFT" ...
> "MATCH_RECOGNIZE" ...
> "NATURAL" ...
> "OUTER" ...
> "RIGHT" ...
> "TABLESAMPLE" ...
> ")" ...
> <BRACKET_QUOTED_IDENTIFIER> ...
> <QUOTED_IDENTIFIER> ...
> <BACK_QUOTED_IDENTIFIER> ...
> <BIG_QUERY_BACK_QUOTED_IDENTIFIER> ...
> <HYPHENATED_IDENTIFIER> ...
> <IDENTIFIER> ...
> <UNICODE_QUOTED_IDENTIFIER> ...
>
> at
> org.apache.calcite.sql.parser.impl.SqlParserImpl.convertException(SqlParserImpl.java:398)
> at
> org.apache.calcite.sql.parser.impl.SqlParserImpl.normalizeException(SqlParserImpl.java:154)
> at
> org.apache.calcite.sql.parser.SqlParser.handleException(SqlParser.java:145)
> at
> org.apache.calcite.sql.parser.SqlParser.parseQuery(SqlParser.java:160)
> at org.apache.calcite.sql.parser.SqlParser.parseStmt(SqlParser.java:185)
> at
> org.apache.calcite.sql.parser.SqlParserTest$TesterImpl.parseStmtAndHandleEx(SqlParserTest.java:9863)
> ... 72 more
> {noformat}
> This is a regression caused by changes from CALCITE-35
--
This message was sent by Atlassian Jira
(v8.20.10#820010)