[ 
https://issues.apache.org/jira/browse/CALCITE-5073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17538527#comment-17538527
 ] 

Benchao Li commented on CALCITE-5073:
-------------------------------------

I'll updated the pr.

[~Chunwei Lei] [~rubenql] What's your options for this improvement? (Sorry to 
call you guys directly, but since Xiong do not insist on blocking the issue, 
you are the only ones involved in the issue who has commit authority)

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

Reply via email to