[ https://issues.apache.org/jira/browse/CALCITE-5013?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jiajun Xie resolved CALCITE-5013. --------------------------------- Resolution: Later > Unparse SqlSetOperator should be retained parentheses when generating SQL > for UNION ... LIMIT > ---------------------------------------------------------------------------------------------- > > Key: CALCITE-5013 > URL: https://issues.apache.org/jira/browse/CALCITE-5013 > Project: Calcite > Issue Type: Bug > Components: core > Reporter: Jiajun Xie > Priority: Major > > - In standard SQL, the operand of union should not have limit or order by.So > parse will fail in SqlParserTetest#testLimitUnion and > SqlParserTetest#OrderUnion. > - When users use parentheses, most engines allow it. See the > discussion:CALCITE-1892. > For simple example, parentheses control the scope of the limit > {code:java} > select "product_id" from "product" > union all > (select "product_id" from "product" limit 10){code} > unparseBinarySyntax will miss parentheses, this change will affect semantics > {code:java} > SELECT \"product_id\" FROM \"foodmart\".\"product\" > UNION ALL > SELECT \"product_id\" FROM \"foodmart\".\"product\" > FETCH NEXT 10 ROWS ONLY -- Affect semantics{code} -- This message was sent by Atlassian Jira (v8.20.1#820001)