saffron.rel
Class SwapJoinRule
java.lang.Object
|
+--saffron.opt.Rule
|
+--saffron.rel.SwapJoinRule
- public class SwapJoinRule
- extends Rule
SwapJoinRule
permutes the inputs to a join. Outer joins cannot
be permuted.
Method Summary |
void |
onMatch(RuleCall call)
This method is called every time the rule matches. |
static Project |
swap(Join join)
Returns a relational expression with the inputs switched round. |
SwapJoinRule
public SwapJoinRule()
swap
public static Project swap(Join join)
- Returns a relational expression with the inputs switched round. Does
not modify
join
. Returns null if the join cannot be
swapped (for example, because it is an outer join).
onMatch
public void onMatch(RuleCall call)
- Description copied from class:
Rule
- This method is called every time the rule matches. 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 RuleCall.transformTo(saffron.rel.Rel)
to
register the expression.
- Specified by:
onMatch
in class Rule