Class ExchangePrel
java.lang.Object
org.apache.calcite.rel.AbstractRelNode
org.apache.calcite.rel.SingleRel
org.apache.drill.exec.planner.physical.SinglePrel
org.apache.drill.exec.planner.physical.ExchangePrel
- All Implemented Interfaces:
Cloneable,Iterable<Prel>,org.apache.calcite.plan.RelOptNode,org.apache.calcite.rel.RelNode,DrillRelNode,Prel
- Direct Known Subclasses:
BroadcastExchangePrel,HashToMergeExchangePrel,HashToRandomExchangePrel,OrderedMuxExchangePrel,OrderedPartitionExchangePrel,RangePartitionExchangePrel,SingleMergeExchangePrel,UnionExchangePrel,UnorderedDeMuxExchangePrel,UnorderedMuxExchangePrel
-
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.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
ConstructorsConstructorDescriptionExchangePrel(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traits, org.apache.calcite.rel.RelNode child) -
Method Summary
Modifier and TypeMethodDescription<T,X, E extends Throwable>
Taccept(PrelVisitor<T, X, E> logicalVisitor, X value) constructMuxPrel(Prel child, OptionManager options) The derived classes can override this method to create relevant mux exchanges.Methods inherited from class org.apache.drill.exec.planner.physical.SinglePrel
getSupportedEncodings, iterator, needsFinalColumnReorderingMethods inherited from class org.apache.calcite.rel.SingleRel
childrenAccept, deriveRowType, estimateRowCount, explainTerms, getInput, getInputs, replaceInputMethods inherited from class org.apache.calcite.rel.AbstractRelNode
accept, accept, collectVariablesSet, collectVariablesUsed, computeSelfCost, copy, deepEquals, deepHashCode, equals, explain, getCluster, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getRelDigest, getRelTypeName, getRowType, getTable, getTraitSet, getVariablesSet, hashCode, isEnforcer, isValid, metadata, onRegister, recomputeDigest, register, sole, toStringMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliteratorMethods inherited from interface org.apache.drill.exec.planner.physical.Prel
getEncoding, getPhysicalOperator, prepareForLateralUnnestPipelineMethods inherited from interface org.apache.calcite.rel.RelNode
accept, accept, childrenAccept, collectVariablesSet, collectVariablesUsed, computeSelfCost, 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
-
ExchangePrel
public ExchangePrel(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traits, org.apache.calcite.rel.RelNode child)
-
-
Method Details
-
accept
- Specified by:
acceptin interfacePrel- Overrides:
acceptin classSinglePrel- Throws:
E
-
constructMuxPrel
The derived classes can override this method to create relevant mux exchanges. If this method is not overridden then the default behavior is to clone itself.- Parameters:
child- input to the new muxPrel or new Exchange node.options- options manager to check if mux is enabled.
-