[ https://issues.apache.org/jira/browse/CALCITE-1586?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15830980#comment-15830980 ]
Julian Hyde commented on CALCITE-1586: -------------------------------------- Yes. In the SqlNode AST, set-operators are binary operators; in RelNode land, set-operators are n-ary. (Same goes for AND and OR, by the way.) Let's not fight what's already working. Let's just fix the bug in SqlImplementor.setOpToSql. > wrong rel-to-sql conversion when performing set operation more then two > inputs. > ------------------------------------------------------------------------------- > > Key: CALCITE-1586 > URL: https://issues.apache.org/jira/browse/CALCITE-1586 > Project: Calcite > Issue Type: Bug > Components: jdbc-adapter > Affects Versions: 1.10.0 > Environment: NA > Reporter: Zhiqiang He > Assignee: Julian Hyde > Priority: Critical > Fix For: 1.12.0 > > > in union example, after UnionMergeRule, the union input is convert to three > input, and rel to sql convert result is wrong. > inputsql > {code:sql} > SELECT * > FROM (SELECT \"product_id\" > FROM \"foodmart\".\"product\" > UNION ALL > SELECT \"product_id\" > FROM \"foodmart\".\"sales_fact_1997\") > UNION ALL > SELECT \"product_class_id\" AS \"PRODUCT_ID\" > FROM \"foodmart\".\"product_class\" > {code} > output sql > {code:sql} > SELECT \"product_id\" > FROM \"foodmart\".\"product\" > UNION ALL > SELECT \"product_id\" > FROM \"foodmart\".\"sales_fact_199 > {code} > the lastest union query is lost. -- This message was sent by Atlassian JIRA (v6.3.4#6332)