Class DrillFilterJoinRules
java.lang.Object
org.apache.drill.exec.planner.logical.DrillFilterJoinRules
-
Field Summary
Modifier and TypeFieldDescriptionstatic final org.apache.calcite.plan.RelOptRule
The same as above, but with Drill's operators.static final org.apache.calcite.rel.rules.FilterJoinRule.Predicate
Predicate that always returns true for any filter in OUTER join, and only true for EQUAL or IS_DISTINCT_FROM over RexInputRef in INNER join.static final org.apache.calcite.plan.RelOptRule
Rule that pushes predicates from a Filter into the Join below them.static final org.apache.calcite.plan.RelOptRule
Rule that pushes predicates in a Join into the inputs to the join.static final org.apache.calcite.rel.rules.FilterJoinRule.Predicate
Predicate that always returns true for any filter in OUTER join, and only true for strict EQUAL or IS_DISTINCT_FROM conditions (without any mathematical operations) over RexInputRef in INNER join. -
Constructor Summary
-
Method Summary
-
Field Details
-
EQUAL_IS_DISTINCT_FROM
public static final org.apache.calcite.rel.rules.FilterJoinRule.Predicate EQUAL_IS_DISTINCT_FROMPredicate that always returns true for any filter in OUTER join, and only true for EQUAL or IS_DISTINCT_FROM over RexInputRef in INNER join. With this predicate, the filter expression that return true will be kept in the JOIN OP. Example: INNER JOIN, L.C1 = R.C2 and L.C3 + 100 = R.C4 + 100 will be kepted in JOIN. L.C5 < R.C6 will be pulled up into Filter above JOIN. OUTER JOIN, Keep any filter in JOIN. -
STRICT_EQUAL_IS_DISTINCT_FROM
public static final org.apache.calcite.rel.rules.FilterJoinRule.Predicate STRICT_EQUAL_IS_DISTINCT_FROMPredicate that always returns true for any filter in OUTER join, and only true for strict EQUAL or IS_DISTINCT_FROM conditions (without any mathematical operations) over RexInputRef in INNER join. With this predicate, the filter expression that return true will be kept in the JOIN OP. Example: INNER JOIN, L.C1 = R.C2 will be kepted in JOIN. L.C3 + 100 = R.C4 + 100, L.C5 < R.C6 will be pulled up into Filter above JOIN. OUTER JOIN, Keep any filter in JOIN. -
FILTER_INTO_JOIN
public static final org.apache.calcite.plan.RelOptRule FILTER_INTO_JOINRule that pushes predicates from a Filter into the Join below them. -
DRILL_FILTER_INTO_JOIN
public static final org.apache.calcite.plan.RelOptRule DRILL_FILTER_INTO_JOINThe same as above, but with Drill's operators. -
JOIN_PUSH_CONDITION
public static final org.apache.calcite.plan.RelOptRule JOIN_PUSH_CONDITIONRule that pushes predicates in a Join into the inputs to the join.
-
-
Constructor Details
-
DrillFilterJoinRules
public DrillFilterJoinRules()
-