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)

Reply via email to