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, offsetFields inherited from class org.apache.calcite.rel.SingleRel
inputFields inherited from class org.apache.calcite.rel.AbstractRelNode
digest, id, rowType, traitSetFields inherited from interface org.apache.drill.exec.planner.physical.Prel
DRILL_PHYSICAL -
Constructor Summary
ConstructorsConstructorDescriptionSortPrel(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) booleanA method to return if this relational node can be dropped during optimization process.org.apache.calcite.plan.RelOptCostcomputeSelfCost(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()booleanprepareForLateralUnnestPipeline(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, getOffsetMethods inherited from class org.apache.calcite.rel.core.Sort
accept, copy, copy, explainTerms, getCollation, getHints, getSortExps, isEnforcerMethods inherited from class org.apache.calcite.rel.SingleRel
childrenAccept, deriveRowType, estimateRowCount, getInput, getInputs, replaceInputMethods 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, toStringMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.calcite.rel.hint.Hintable
attachHints, withHintsMethods inherited from interface java.lang.Iterable
forEach, spliteratorMethods inherited from interface org.apache.drill.exec.planner.common.OrderedRel
getCollationMethods 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, replaceInputMethods 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:
computeSelfCostin interfaceorg.apache.calcite.rel.RelNode- Overrides:
computeSelfCostin classorg.apache.calcite.rel.core.Sort
-
getPhysicalOperator
- Specified by:
getPhysicalOperatorin 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:
copyin classorg.apache.calcite.rel.core.Sort
-
iterator
-
accept
-
getSupportedEncodings
Description copied from interface:PrelSupported 'encodings' of a Prel indicates what are the acceptable modes of SelectionVector of its child Prel- Specified by:
getSupportedEncodingsin interfacePrel
-
getEncoding
Description copied from interface:PrelA Prel's own SelectionVector mode - i.e whether it generates an SV2, SV4 or None- Specified by:
getEncodingin interfacePrel
-
needsFinalColumnReordering
public boolean needsFinalColumnReordering()- Specified by:
needsFinalColumnReorderingin interfacePrel
-
prepareForLateralUnnestPipeline
Description copied from interface:PrelIf 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:
prepareForLateralUnnestPipelinein interfacePrel
-
canBeDropped
public boolean canBeDropped()Description copied from interface:OrderedRelA method to return if this relational node can be dropped during optimization process.- Specified by:
canBeDroppedin interfaceOrderedRel- Returns:
- true if this node can be dropped, false otherwise.
-