org.eigenbase.rel.rules
Class ExtractJoinFilterRule
java.lang.Object
org.eigenbase.relopt.RelOptRule
org.eigenbase.rel.rules.ExtractJoinFilterRule
public final class ExtractJoinFilterRule
- extends RelOptRule
Rule to convert an inner join to a filter
on top of a cartesian inner join.
One benefit of this transformation is that after it, the join condition
can be combined with conditions and expressions above the join. It also makes
the FennelCartesianJoinRule applicable.
- Since:
- 3 February, 2006
- Version:
- $Id: //open/dev/farrago/src/org/eigenbase/rel/rules/ExtractJoinFilterRule.java#2 $
- Author:
- jhyde
| Methods inherited from class org.eigenbase.relopt.RelOptRule |
convert, equals, equals, getOperand, getOperands, getOutConvention, getOutTrait, hashCode, matches, mergeTraitsAndConvert, mergeTraitsAndConvert, toString |
instance
public static final ExtractJoinFilterRule instance
- The singleton.
ExtractJoinFilterRule
private ExtractJoinFilterRule()
- Creates an ExtractJoinFilterRule.
onMatch
public void onMatch(RelOptRuleCall call)
- Description copied from class:
RelOptRule
- Receives notification about a rule match. At the time that this method is
called,
call.rels holds the set of relational
expressions which match the operands to the rule;
call.rels[0] is the root expression.
Typically a rule would check that the nodes are valid matches, creates
a new expression, then calls back RelOptRuleCall.transformTo(org.eigenbase.rel.RelNode) to
register the expression.
- Specified by:
onMatch in class RelOptRule
- Parameters:
call - Rule call- See Also:
RelOptRule.matches(RelOptRuleCall)