Class FlinkSemiAntiJoinProjectTransposeRule


  • public class FlinkSemiAntiJoinProjectTransposeRule
    extends org.apache.calcite.plan.RelOptRule
    Planner rule that pushes a org.apache.calcite.rel.core.SemiJoin down in a tree past a Project.

    The intention is to trigger other rules that will convert SemiJoins.

    SemiJoin(LogicalProject(X), Y) → LogicalProject(SemiJoin(X, Y))

    See Also:
    SemiJoinFilterTransposeRule
    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.apache.calcite.plan.RelOptRule

        org.apache.calcite.plan.RelOptRule.ConverterRelOptRuleOperand
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean matches​(org.apache.calcite.plan.RelOptRuleCall call)  
      void onMatch​(org.apache.calcite.plan.RelOptRuleCall call)  
      • Methods inherited from class org.apache.calcite.plan.RelOptRule

        any, convert, convert, convertList, convertOperand, convertOperand, equals, equals, getOperand, getOperands, getOutConvention, getOutTrait, hashCode, none, operand, operand, operand, operand, operand, operandJ, operandJ, some, toString, unordered
    • Method Detail

      • matches

        public boolean matches​(org.apache.calcite.plan.RelOptRuleCall call)
        Overrides:
        matches in class org.apache.calcite.plan.RelOptRule
      • onMatch

        public void onMatch​(org.apache.calcite.plan.RelOptRuleCall call)
        Specified by:
        onMatch in class org.apache.calcite.plan.RelOptRule