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)