[
https://issues.apache.org/jira/browse/CALCITE-5073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17537896#comment-17537896
]
Chunwei Lei edited comment on CALCITE-5073 at 5/17/22 3:37 AM:
---------------------------------------------------------------
FYI: Flink has a rule named {{JoinConditionEqualityTransferRule}} [1] to do the
same thing.
[1]
https://github.com/apache/flink/blob/master/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/plan/rules/logical/JoinConditionEqualityTransferRule.scala
was (Author: chunwei lei):
FYI: Flink has a rule named {{JoinConditionEqualityTransferRule}} [1] to do the
same thing.
[1]https://github.com/apache/flink/blob/master/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/plan/rules/logical/JoinConditionEqualityTransferRule.scala
> JoinConditionPushRule cannot infer 'LHS.C1 = LHS.C2' from 'LHS.C1 = RHS.C1
> AND LHS.C2 = RHS.C1'
> -----------------------------------------------------------------------------------------------
>
> Key: CALCITE-5073
> URL: https://issues.apache.org/jira/browse/CALCITE-5073
> Project: Calcite
> Issue Type: Improvement
> Components: core
> Affects Versions: 1.30.0
> Reporter: Benchao Li
> Assignee: Benchao Li
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.31.0
>
> Time Spent: 2h
> Remaining Estimate: 0h
>
> For the below SQL:
> {code:java}
> SELECT * FROM T1, T2, T3
> WHERE T1.id = T3.id AND T2.id = T3.id{code}
> Currently, JoinConditionPushRule cannot infer the condition 'T1.id = T2.id'
> for the first join relation.
> There is another rule {{JoinPushThroughJoinRule}}, it can handle the above
> case in a different way (by reordering joins).
> This can be a more general optimization, which like the title says, we can
> infer more conditions from join condition (or above filter condition) to the
> Join's operands.
> It's reported in ML:
> https://lists.apache.org/thread/6fs09cgyz5rzrty90632ywoo477q0gdk
--
This message was sent by Atlassian Jira
(v8.20.7#820007)