Package org.apache.calcite.plan.hep
Class HepRuleCall
- java.lang.Object
-
- org.apache.calcite.plan.RelOptRuleCall
-
- org.apache.calcite.plan.hep.HepRuleCall
-
public class HepRuleCall extends RelOptRuleCall
HepRuleCall implementsRelOptRuleCall
for aHepPlanner
. It remembers transformation results so that the planner can choose which one (if any) should replace the original expression.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<RelNode>
results
-
Fields inherited from class org.apache.calcite.plan.RelOptRuleCall
id, LOGGER, nodeInputs, operand0, rels, rule
-
-
Constructor Summary
Constructors Constructor Description HepRuleCall(RelOptPlanner planner, RelOptRuleOperand operand, RelNode[] rels, java.util.Map<RelNode,java.util.List<RelNode>> nodeChildren, java.util.List<RelNode> parents)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) java.util.List<RelNode>
getResults()
void
transformTo(RelNode rel, java.util.Map<RelNode,RelNode> equiv)
Registers that a rule has produced an equivalent relational expression.-
Methods inherited from class org.apache.calcite.plan.RelOptRuleCall
builder, getChildRels, getMetadataQuery, getOperand0, getParents, getPlanner, getRelList, getRels, getRule, rel, setChildRels, transformTo
-
-
-
-
Field Detail
-
results
private java.util.List<RelNode> results
-
-
Constructor Detail
-
HepRuleCall
HepRuleCall(RelOptPlanner planner, RelOptRuleOperand operand, RelNode[] rels, java.util.Map<RelNode,java.util.List<RelNode>> nodeChildren, java.util.List<RelNode> parents)
-
-
Method Detail
-
transformTo
public void transformTo(RelNode rel, java.util.Map<RelNode,RelNode> equiv)
Description copied from class:RelOptRuleCall
Registers that a rule has produced an equivalent relational expression.Called 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 byrel.getTraits()
will be copied fromthis.rels[0].getTraitSet()
.- Specified by:
transformTo
in classRelOptRuleCall
- Parameters:
rel
- Relational expression equivalent to the root relational expression of the rule call,call.rels(0)
equiv
- Map of other equivalences
-
getResults
java.util.List<RelNode> getResults()
-
-