[ https://issues.apache.org/jira/browse/FLINK-32679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17747762#comment-17747762 ]
grandfisher commented on FLINK-32679: ------------------------------------- It's not the same question. I think FLINK-28753 is fix question that push condition to join both side(I'm not sure,calcite may solve this question use another rule). Our question is ,the conditions can be chained by different join conditions.This problem seems push a filter that on left input of a join to the right input of the join by join keys. > Filter conditions cannot be pushed to JOIN in some case > ------------------------------------------------------- > > Key: FLINK-32679 > URL: https://issues.apache.org/jira/browse/FLINK-32679 > Project: Flink > Issue Type: Improvement > Components: Table SQL / Planner > Reporter: grandfisher > Priority: Major > > There is a case > {code:java} > SELECT a.id, b.id, c.id, d.id, e.id > , f.id > FROM `table-v1` a > INNER JOIN `table-v2` b ON a.id = b.id > INNER JOIN `table-v3` c ON b.id = c.id > INNER JOIN `table-v4` d ON c.id = d.id > INNER JOIN `table-v5` e ON d.id = e.id > INNER JOIN `table-v6` f ON a.id = f.id > WHERE f.id = 0 > {code} > In this sql, each table should have a condition {*}id=0{*}, but actually only > table *f* and *a* has this condition. -- This message was sent by Atlassian Jira (v8.20.10#820010)