public class JoinCommuteRule extends RelOptRule
| Modifier and Type | Class and Description |
|---|---|
private static class |
JoinCommuteRule.VariableReplacer
Walks over an expression, replacing references to fields of the left and
right inputs.
|
| Modifier and Type | Field and Description |
|---|---|
static JoinCommuteRule |
INSTANCE
Instance of the rule that only swaps inner joins.
|
static JoinCommuteRule |
SWAP_OUTER
Instance of the rule that swaps outer joins as well as inner joins.
|
private boolean |
swapOuter |
description, operands, relBuilderFactory| Modifier | Constructor and Description |
|---|---|
private |
JoinCommuteRule(boolean swapOuter) |
|
JoinCommuteRule(Class<? extends Join> clazz,
RelBuilderFactory relBuilderFactory,
boolean swapOuter)
Creates a JoinCommuteRule.
|
|
JoinCommuteRule(Class<? extends Join> clazz,
RelFactories.ProjectFactory projectFactory)
Deprecated.
|
|
JoinCommuteRule(Class<? extends Join> clazz,
RelFactories.ProjectFactory projectFactory,
boolean swapOuter)
Deprecated.
|
| Modifier and Type | Method and Description |
|---|---|
void |
onMatch(RelOptRuleCall call)
Receives notification about a rule match.
|
static RelNode |
swap(Join join)
Returns a relational expression with the inputs switched round.
|
static RelNode |
swap(Join join,
boolean swapOuterJoins)
Returns a relational expression with the inputs switched round.
|
any, convert, convert, convertList, convertOperand, equals, equals, getOperand, getOperands, getOutConvention, getOutTrait, hashCode, matches, none, operand, operand, operand, operand, operand, some, toString, unorderedpublic static final JoinCommuteRule INSTANCE
public static final JoinCommuteRule SWAP_OUTER
private final boolean swapOuter
public JoinCommuteRule(Class<? extends Join> clazz, RelBuilderFactory relBuilderFactory, boolean swapOuter)
private JoinCommuteRule(boolean swapOuter)
@Deprecated public JoinCommuteRule(Class<? extends Join> clazz, RelFactories.ProjectFactory projectFactory)
@Deprecated public JoinCommuteRule(Class<? extends Join> clazz, RelFactories.ProjectFactory projectFactory, boolean swapOuter)
public static RelNode swap(Join join)
join. Returns null if the join cannot be swapped (for
example, because it is an outer join).public static RelNode swap(Join join, boolean swapOuterJoins)
join. Returns null if the join cannot be swapped (for
example, because it is an outer join).join - join to be swappedswapOuterJoins - whether outer joins should be swappedpublic void onMatch(RelOptRuleCall call)
RelOptRulecall.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.apache.calcite.rel.RelNode, java.util.Map<org.apache.calcite.rel.RelNode, org.apache.calcite.rel.RelNode>) to
register the expression.
onMatch in class RelOptRulecall - Rule callRelOptRule.matches(RelOptRuleCall)Copyright © 2012–2018 The Apache Software Foundation. All rights reserved.