[ https://issues.apache.org/jira/browse/CALCITE-5013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17501085#comment-17501085 ]
Jiajun Xie edited comment on CALCITE-5013 at 3/4/22, 12:02 AM: --------------------------------------------------------------- Hello, [~julianhyde]. Would you review this pr again? https://github.com/apache/calcite/pull/2724 was (Author: jiajunbernoulli): Hello, [~julianhyde]. Would you review this pr again? https://issues.apache.org/jira/browse/CALCITE-5013 > 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)