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
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
ConstructorDescriptionExchangePrel
(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, needsFinalColumnReordering
Methods inherited from class org.apache.calcite.rel.SingleRel
childrenAccept, deriveRowType, estimateRowCount, explainTerms, getInput, getInputs, replaceInput
Methods 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, toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
Methods inherited from interface org.apache.drill.exec.planner.physical.Prel
getEncoding, getPhysicalOperator, prepareForLateralUnnestPipeline
Methods 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, replaceInput
Methods 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:
accept
in interfacePrel
- Overrides:
accept
in classSinglePrel
- Throws:
E extends Throwable
-
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.
-