Class AggregateJoinJoinRemoveRule

All Implemented Interfaces:
TransformationRule

@Enclosing public class AggregateJoinJoinRemoveRule extends RelRule<AggregateJoinJoinRemoveRule.Config> implements TransformationRule
Planner rule that matches an Aggregate on a Join and removes the left input of the join provided that the left input is also a left join if possible.

For instance,

select distinct s.product_id, pc.product_id
 from sales as s
 left join product as p
   on s.product_id = p.product_id
 left join product_class pc
   on s.product_id = pc.product_id

becomes

select distinct s.product_id, pc.product_id
 from sales as s
 left join product_class pc
   on s.product_id = pc.product_id
See Also: