public class HepRelVertex extends AbstractRelNode
RelNode as a vertex in a DAG representing
the entire query expression.digest, id, rowType, traitSet| Modifier and Type | Method and Description |
|---|---|
protected String |
computeDigest()
Computes the digest.
|
RelOptCost |
computeSelfCost(RelOptPlanner planner)
Returns the cost of this plan (not including children).
|
RelNode |
copy(RelTraitSet traitSet,
List<RelNode> inputs)
Creates a copy of this relational expression, perhaps changing traits and
inputs.
|
protected RelDataType |
deriveRowType() |
void |
explain(RelWriter pw)
Describes the inputs and attributes of this relational expression.
|
RelNode |
getCurrentRel() |
double |
getRows()
Returns an estimate of the number of rows this relational expression will
return.
|
boolean |
isDistinct()
Returns whether the same value will not come out twice.
|
boolean |
isKey(ImmutableBitSet columns)
Returns whether the result of this relational expression is uniquely
identified by this columns with the given ordinals.
|
accept, accept, childrenAccept, collectVariablesSet, collectVariablesUsed, explainTerms, getChildExps, getCluster, getCollationList, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getInputs, getQuery, getRelTypeName, getRowType, getTable, getTraitSet, getVariablesStopped, isValid, metadata, onRegister, recomputeDigest, register, replaceInput, sole, toStringpublic void explain(RelWriter pw)
RelNodesuper.explain, then call the
RelWriterImpl.input(String, RelNode)
and
RelWriterImpl.item(String, Object)
methods for each input and attribute.explain in interface RelNodeexplain in class AbstractRelNodepw - Plan writerpublic RelNode copy(RelTraitSet traitSet, List<RelNode> inputs)
RelNodeSub-classes with other important attributes are encouraged to create variants of this method with more parameters.
copy in interface RelNodecopy in class AbstractRelNodetraitSet - Trait setinputs - Inputspublic RelOptCost computeSelfCost(RelOptPlanner planner)
RelNodeNOTE 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 RelNodecomputeSelfCost in class AbstractRelNodeplanner - Planner for cost calculationpublic double getRows()
RelNodeNOTE 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.
getRows in interface RelNodegetRows in class AbstractRelNodeprotected RelDataType deriveRowType()
deriveRowType in class AbstractRelNodepublic boolean isDistinct()
RelNodefalse, derived classes should override.isDistinct in interface RelNodeisDistinct in class AbstractRelNodepublic boolean isKey(ImmutableBitSet columns)
RelNodeFor example, if this relational expression is a LogicalTableScan to T(A, B, C, D) whose key is (A, B), then isKey([0, 1]) yields true, and isKey([0]) and isKey([0, 2]) yields false.
isKey in interface RelNodeisKey in class AbstractRelNodecolumns - Ordinals of key columnsprotected String computeDigest()
AbstractRelNodecomputeDigest in class AbstractRelNodepublic RelNode getCurrentRel()
Copyright © 2012–2015 The Apache Software Foundation. All rights reserved.