Class SortPrel
java.lang.Object
org.apache.calcite.rel.AbstractRelNode
org.apache.calcite.rel.SingleRel
org.apache.calcite.rel.core.Sort
org.apache.drill.exec.planner.common.DrillSortRelBase
org.apache.drill.exec.planner.physical.SortPrel
- All Implemented Interfaces:
Cloneable
,Iterable<Prel>
,org.apache.calcite.plan.RelOptNode
,org.apache.calcite.rel.hint.Hintable
,org.apache.calcite.rel.RelNode
,DrillRelNode
,OrderedRel
,Prel
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.calcite.rel.RelNode
org.apache.calcite.rel.RelNode.Context
-
Field Summary
Fields inherited from class org.apache.calcite.rel.core.Sort
collation, fetch, hints, offset
Fields inherited from class org.apache.calcite.rel.SingleRel
input
Fields inherited from class org.apache.calcite.rel.AbstractRelNode
digest, id, rowType, traitSet
Fields inherited from interface org.apache.drill.exec.planner.physical.Prel
DRILL_PHYSICAL
-
Constructor Summary
ConstructorDescriptionSortPrel
(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traits, org.apache.calcite.rel.RelNode input, org.apache.calcite.rel.RelCollation collation) Creates a DrillSortRel.SortPrel
(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traits, org.apache.calcite.rel.RelNode input, org.apache.calcite.rel.RelCollation collation, boolean isRemovable) Creates a DrillSortRel.SortPrel
(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traits, org.apache.calcite.rel.RelNode input, org.apache.calcite.rel.RelCollation collation, org.apache.calcite.rex.RexNode offset, org.apache.calcite.rex.RexNode fetch) Creates a DrillSortRel with offset and fetch. -
Method Summary
Modifier and TypeMethodDescription<T,
X, E extends Throwable>
Taccept
(PrelVisitor<T, X, E> logicalVisitor, X value) boolean
A method to return if this relational node can be dropped during optimization process.org.apache.calcite.plan.RelOptCost
computeSelfCost
(org.apache.calcite.plan.RelOptPlanner planner, org.apache.calcite.rel.metadata.RelMetadataQuery mq) copy
(org.apache.calcite.plan.RelTraitSet traitSet, org.apache.calcite.rel.RelNode newInput, org.apache.calcite.rel.RelCollation newCollation, org.apache.calcite.rex.RexNode offset, org.apache.calcite.rex.RexNode fetch) A Prel's own SelectionVector mode - i.e whether it generates an SV2, SV4 or NonegetPhysicalOperator
(PhysicalPlanCreator creator) Supported 'encodings' of a Prel indicates what are the acceptable modes of SelectionVector of its child Preliterator()
boolean
prepareForLateralUnnestPipeline
(List<org.apache.calcite.rel.RelNode> children) If the operator is in Lateral/Unnest pipeline, then it generates a new operator which knows how to process the rows accordingly during execution.Methods inherited from class org.apache.drill.exec.planner.common.DrillSortRelBase
getFetch, getOffset
Methods inherited from class org.apache.calcite.rel.core.Sort
accept, copy, copy, explainTerms, getCollation, getHints, getSortExps, isEnforcer
Methods inherited from class org.apache.calcite.rel.SingleRel
childrenAccept, deriveRowType, estimateRowCount, getInput, getInputs, replaceInput
Methods inherited from class org.apache.calcite.rel.AbstractRelNode
accept, collectVariablesSet, collectVariablesUsed, deepEquals, deepHashCode, equals, explain, getCluster, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getRelDigest, getRelTypeName, getRowType, getTable, getTraitSet, getVariablesSet, hashCode, isValid, metadata, onRegister, recomputeDigest, register, sole, toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.apache.calcite.rel.hint.Hintable
attachHints, withHints
Methods inherited from interface java.lang.Iterable
forEach, spliterator
Methods inherited from interface org.apache.drill.exec.planner.common.OrderedRel
getCollation
Methods inherited from interface org.apache.calcite.rel.RelNode
accept, accept, childrenAccept, collectVariablesSet, collectVariablesUsed, copy, deepEquals, deepHashCode, estimateRowCount, explain, explain, fieldIsNullable, getConvention, getCorrelVariable, getDigest, getExpectedInputRowType, getInput, getInputs, getRelDigest, getRelTypeName, getRowType, getTable, getVariablesSet, isEnforcer, isValid, metadata, onRegister, recomputeDigest, register, replaceInput
Methods inherited from interface org.apache.calcite.plan.RelOptNode
getCluster, getDescription, getId, getTraitSet
-
Constructor Details
-
SortPrel
public SortPrel(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traits, org.apache.calcite.rel.RelNode input, org.apache.calcite.rel.RelCollation collation) Creates a DrillSortRel. -
SortPrel
public SortPrel(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traits, org.apache.calcite.rel.RelNode input, org.apache.calcite.rel.RelCollation collation, org.apache.calcite.rex.RexNode offset, org.apache.calcite.rex.RexNode fetch) Creates a DrillSortRel with offset and fetch. -
SortPrel
public SortPrel(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traits, org.apache.calcite.rel.RelNode input, org.apache.calcite.rel.RelCollation collation, boolean isRemovable) Creates a DrillSortRel.
-
-
Method Details
-
computeSelfCost
public org.apache.calcite.plan.RelOptCost computeSelfCost(org.apache.calcite.plan.RelOptPlanner planner, org.apache.calcite.rel.metadata.RelMetadataQuery mq) - Specified by:
computeSelfCost
in interfaceorg.apache.calcite.rel.RelNode
- Overrides:
computeSelfCost
in classorg.apache.calcite.rel.core.Sort
-
getPhysicalOperator
- Specified by:
getPhysicalOperator
in interfacePrel
- Throws:
IOException
-
copy
public SortPrel copy(org.apache.calcite.plan.RelTraitSet traitSet, org.apache.calcite.rel.RelNode newInput, org.apache.calcite.rel.RelCollation newCollation, org.apache.calcite.rex.RexNode offset, org.apache.calcite.rex.RexNode fetch) - Specified by:
copy
in classorg.apache.calcite.rel.core.Sort
-
iterator
-
accept
-
getSupportedEncodings
Description copied from interface:Prel
Supported 'encodings' of a Prel indicates what are the acceptable modes of SelectionVector of its child Prel- Specified by:
getSupportedEncodings
in interfacePrel
-
getEncoding
Description copied from interface:Prel
A Prel's own SelectionVector mode - i.e whether it generates an SV2, SV4 or None- Specified by:
getEncoding
in interfacePrel
-
needsFinalColumnReordering
public boolean needsFinalColumnReordering()- Specified by:
needsFinalColumnReordering
in interfacePrel
-
prepareForLateralUnnestPipeline
Description copied from interface:Prel
If the operator is in Lateral/Unnest pipeline, then it generates a new operator which knows how to process the rows accordingly during execution. eg: TopNPrel -> SortPrel and LimitPrel Other operators like FilterPrel, ProjectPrel etc will add an implicit row id to the output.- Specified by:
prepareForLateralUnnestPipeline
in interfacePrel
-
canBeDropped
public boolean canBeDropped()Description copied from interface:OrderedRel
A method to return if this relational node can be dropped during optimization process.- Specified by:
canBeDropped
in interfaceOrderedRel
- Returns:
- true if this node can be dropped, false otherwise.
-