You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Gustavo de Morais (Jira)" <ji...@apache.org> on 2025/06/03 15:43:00 UTC

[jira] [Created] (FLINK-37889) FLIP-516: Add new FlinkLogicalMultiJoin rule

Gustavo de Morais created FLINK-37889:
-----------------------------------------

             Summary: FLIP-516: Add new FlinkLogicalMultiJoin rule
                 Key: FLINK-37889
                 URL: https://issues.apache.org/jira/browse/FLINK-37889
             Project: Flink
          Issue Type: Sub-task
            Reporter: Gustavo de Morais


The current FlinkJoinToMultiJoinRule is implemented and only used for join reordering. We can use it as a base but we need a new set of optimizer rules for the multi way join operator. This ticket covers:
 * Add FlinkLogicalMultiJoin with all parameters we need + FlinkJoinToFlinkMultiJoinRule to create it
 ** There are some parameters that calcite's MultiJoin does not contain as we require it. For example: we only have outerJoinConditions and we actually need all join conditions for each input level, including inner joins.

Related:
 * Add right join to left join rule - our operator only works with left joins
 * Check if the join chain respects the multi join common key restrictions
 ** If not, create one multi join for each group of joins that respect. That means 9 chained joins, 3 have one common key and 6 have another will generate two chained multi joins.

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)