Class AdaptiveReorderPartitionedJoin

java.lang.Object
io.trino.sql.planner.iterative.rule.AdaptiveReorderPartitionedJoin
All Implemented Interfaces:
Rule<JoinNode>

public class AdaptiveReorderPartitionedJoin extends Object implements Rule<JoinNode>
Flip sides for partitioned join based on data size stats. This rule is only used during Adaptive Planning in FTE. From:
    Join (PARTITIONED)
      - left side (partitioned)
      - Partial Aggregation (optional)
          - Exchange (LOCAL)
              - right side (partitioned)
 
TO:
    Join (PARTITIONED)
      - Partial Aggregation (optional)
          - right side (partitioned)
      - Exchange (LOCAL) (if needed, derived using source stream properties)
          - left side (partitioned)