[
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)