public class HepRuleCall extends RelOptRuleCall
RelOptRuleCall for a HepPlanner. It
remembers transformation results so that the planner can choose which one (if
any) should replace the original expression.id, LOGGER, nodeInputs, operand0, rels, rule| Modifier and Type | Method and Description |
|---|---|
void |
transformTo(RelNode rel,
Map<RelNode,RelNode> equiv,
RelHintsPropagator handler)
Registers that a rule has produced an equivalent relational expression.
|
builder, getChildRels, getMetadataQuery, getOperand0, getParents, getPlanner, getRelList, getRels, getRule, isRuleExcluded, rel, setChildRels, transformTo, transformTo, transformTopublic void transformTo(RelNode rel, Map<RelNode,RelNode> equiv, RelHintsPropagator handler)
RelOptRuleCallCalled by the rule whenever it finds a match. The implementation of
this method guarantees that the original relational expression (that is,
this.rels[0]) has its traits propagated to the new
relational expression (rel) and its unregistered children.
Any trait not specifically set in the RelTraitSet returned by
rel.getTraits() will be copied from
this.rels[0].getTraitSet().
The hints of the root relational expression of
the rule call(this.rels[0])
are copied to the new relational expression(rel)
with specified handler handler.
transformTo in class RelOptRuleCallrel - Relational expression equivalent to the root relational
expression of the rule call, call.rels(0)equiv - Map of other equivalenceshandler - Handler to customize the relational expression that registers
into the planner, the first parameter is the root relational expression
and the second parameter is the new relational expressionCopyright © 2012-2022 Apache Software Foundation. All Rights Reserved.