[ 
https://issues.apache.org/jira/browse/CALCITE-3984?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Haisheng Yuan resolved CALCITE-3984.
------------------------------------
    Fix Version/s: 1.23.0
       Resolution: Fixed

Fixed inĀ 
[https://github.com/apache/calcite/commit/2730b4b696fcf1651acfa63e088f9c60c9369386].

> Support exchange operator in RelFieldTrimmer
> --------------------------------------------
>
>                 Key: CALCITE-3984
>                 URL: https://issues.apache.org/jira/browse/CALCITE-3984
>             Project: Calcite
>          Issue Type: Wish
>            Reporter: xzh_dz
>            Priority: Major
>             Fix For: 1.23.0
>
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> RelFieldTrimmer does not support trim unused fields in exchange operator now. 
> Such as below:
> {code:java}
> final RelBuilder builder = RelBuilder.create(config().build());
>     final RelNode root =
>         builder.scan("EMP")
>             .project(builder.field("EMPNO"), builder.field("ENAME"), 
> builder.field("DEPTNO"))
>             .exchange(RelDistributions.hash(Lists.newArrayList(1)))
>             .project(builder.field("EMPNO"), builder.field("ENAME"))
>             .build();
> {code}
>  RelNode root:
> {code:java}
> LogicalProject(EMPNO=[$0], ENAME=[$1])
>   LogicalExchange(distribution=[hash[1]])
>     LogicalProject(EMPNO=[$0], ENAME=[$1], DEPTNO=[$7])
>       LogicalTableScan(table=[[scott, EMP]])
> {code}
> The right result should be:
> {code:java}
> LogicalExchange(distribution=[hash[1]])
>   LogicalProject(EMPNO=[$0], ENAME=[$1])
>     LogicalTableScan(table=[[scott, EMP]])
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to