Class PushInequalityFilterExpressionBelowJoinRuleSet

java.lang.Object
io.trino.sql.planner.iterative.rule.PushInequalityFilterExpressionBelowJoinRuleSet

public class PushInequalityFilterExpressionBelowJoinRuleSet extends Object
Rule that transform plan like
 
  filter: expr(l) > expr(r)
      join
          probe(l)
          build(r)
       
 
to
 
  filter: expr(l) > expr_r
      join
          probe(l)
          project (expr_r := expr(r))
              build (r)
       
 
This rule allows dynamic filtering to be applied for inequality join node. Additionally, optimized execution of inequality join is performed when equi conditions are also present.
  • Constructor Details

    • PushInequalityFilterExpressionBelowJoinRuleSet

      public PushInequalityFilterExpressionBelowJoinRuleSet()
  • Method Details

    • rules

      public Iterable<Rule<?>> rules()
    • pushParentInequalityFilterExpressionBelowJoinRule

      public Rule<FilterNode> pushParentInequalityFilterExpressionBelowJoinRule()
    • pushJoinInequalityFilterExpressionBelowJoinRule

      public Rule<JoinNode> pushJoinInequalityFilterExpressionBelowJoinRule()