private static class SubstitutionVisitor.TrivialRule extends SubstitutionVisitor.AbstractUnifyRule
SubstitutionVisitor.UnifyRule that matches if the query is already
equal to the target.
Matches scans to the same table, because these will be
MutableScans with the same
LogicalTableScan instance.
| Modifier and Type | Field and Description |
|---|---|
private static SubstitutionVisitor.TrivialRule |
INSTANCE |
queryOperand, slotCount, targetOperand| Modifier | Constructor and Description |
|---|---|
private |
TrivialRule() |
| Modifier and Type | Method and Description |
|---|---|
SubstitutionVisitor.UnifyResult |
apply(SubstitutionVisitor.UnifyRuleCall call)
Applies this rule to a particular node in a query.
|
any, isValid, operand, query, targetcopy, matchprivate static final SubstitutionVisitor.TrivialRule INSTANCE
public SubstitutionVisitor.UnifyResult apply(SubstitutionVisitor.UnifyRuleCall call)
SubstitutionVisitor.UnifyRuleApplies this rule to a particular node in a query. The goal is
to convert query into target. Before the rule is
invoked, Calcite has made sure that query's children are equivalent
to target's children.
There are 3 possible outcomes:
query already exactly matches target; returns
targetquery is sufficiently close to a match for
target; returns targetquery cannot be made to match target; returns
nullREVIEW: Is possible that we match query PLUS one or more of its ancestors?
apply in class SubstitutionVisitor.UnifyRulecall - Input parametersCopyright © 2012–2018 The Apache Software Foundation. All rights reserved.