public class HepRelVertex extends AbstractRelNode
RelNode
as a vertex in a DAG representing
the entire query expression.RelNode.Context
Modifier and Type | Field and Description |
---|---|
private RelNode |
currentRel
Wrapped rel currently chosen for implementation of expression.
|
digest, id, rowType, traitSet
Constructor and Description |
---|
HepRelVertex(RelNode rel) |
Modifier and Type | Method and Description |
---|---|
protected java.lang.String |
computeDigest()
Computes the digest.
|
RelOptCost |
computeSelfCost(RelOptPlanner planner,
RelMetadataQuery mq)
Returns the cost of this plan (not including children).
|
RelNode |
copy(RelTraitSet traitSet,
java.util.List<RelNode> inputs)
Creates a copy of this relational expression, perhaps changing traits and
inputs.
|
protected RelDataType |
deriveRowType() |
double |
estimateRowCount(RelMetadataQuery mq)
Returns an estimate of the number of rows this relational expression will
return.
|
void |
explain(RelWriter pw)
Describes the inputs and attributes of this relational expression.
|
RelNode |
getCurrentRel() |
(package private) void |
replaceRel(RelNode newRel)
Replaces the implementation for this expression with a new one.
|
accept, accept, childrenAccept, collectVariablesSet, collectVariablesUsed, computeSelfCost, explainTerms, getChildExps, getCluster, getCollationList, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getInputs, getQuery, getRelTypeName, getRows, getRowType, getTable, getTraitSet, getVariablesSet, getVariablesStopped, isDistinct, isKey, isValid, isValid, metadata, onRegister, recomputeDigest, register, replaceInput, sole, toString
private RelNode currentRel
HepRelVertex(RelNode rel)
public void explain(RelWriter pw)
RelNode
super.explain
, then call the
RelWriter.input(String, RelNode)
and
RelWriterImpl.item(String, Object)
methods for each input and attribute.explain
in interface RelNode
explain
in class AbstractRelNode
pw
- Plan writerpublic RelNode copy(RelTraitSet traitSet, java.util.List<RelNode> inputs)
RelNode
Sub-classes with other important attributes are encouraged to create variants of this method with more parameters.
copy
in interface RelNode
copy
in class AbstractRelNode
traitSet
- Trait setinputs
- Inputspublic RelOptCost computeSelfCost(RelOptPlanner planner, RelMetadataQuery mq)
RelNode
NOTE jvs 29-Mar-2006: Don't call this method directly. Instead, use
RelMetadataQuery.getNonCumulativeCost(org.apache.calcite.rel.RelNode)
, which gives plugins a
chance to override the rel's default ideas about cost.
computeSelfCost
in interface RelNode
computeSelfCost
in class AbstractRelNode
planner
- Planner for cost calculationmq
- Metadata querypublic double estimateRowCount(RelMetadataQuery mq)
RelNode
NOTE jvs 29-Mar-2006: Don't call this method directly. Instead, use
RelMetadataQuery.getRowCount(org.apache.calcite.rel.RelNode)
, which gives plugins a chance to
override the rel's default ideas about row count.
estimateRowCount
in interface RelNode
estimateRowCount
in class AbstractRelNode
mq
- Metadata queryprotected RelDataType deriveRowType()
deriveRowType
in class AbstractRelNode
protected java.lang.String computeDigest()
AbstractRelNode
computeDigest
in class AbstractRelNode
void replaceRel(RelNode newRel)
newRel
- new expressionpublic RelNode getCurrentRel()
Copyright © 2012–2019 The Apache Software Foundation. All rights reserved.