private static class MaterializedViewSubstitutionVisitor.FilterToProjectUnifyRule1 extends SubstitutionVisitor.AbstractUnifyRule
SubstitutionVisitor.UnifyRulethat matches a
MutableProjecton top of a
MutableFilterwhere the condition of the target relation is weaker.
Example: target has a weaker condition and is a permutation projection of its child relation
|Modifier and Type||Field and Description|
|Modifier||Constructor and Description|
|Modifier and Type||Method and Description|
Applies this rule to a particular node in a query.
any, isValid, operand, query, target
public static final MaterializedViewSubstitutionVisitor.FilterToProjectUnifyRule1 INSTANCE
public SubstitutionVisitor.UnifyResult apply(SubstitutionVisitor.UnifyRuleCall call)
Applies this rule to a particular node in a query. The goal is
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:
queryalready exactly matches
queryis sufficiently close to a match for
querycannot be made to match
target; returns null
REVIEW: Is possible that we match query PLUS one or more of its ancestors?
Copyright © 2012–2019 The Apache Software Foundation. All rights reserved.