[ https://issues.apache.org/jira/browse/CALCITE-1586?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15830966#comment-15830966 ]
Zhiqiang He commented on CALCITE-1586: -------------------------------------- It was parse (A union B) union C befor Opimizer. but after UnionMergeRule optimizer rule executed. the rel expression was changed to A union B union C. > 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)