Interface ExecNode<T>
-
- Type Parameters:
T
- The type of the elements that result from this node.
- All Superinterfaces:
ExecNodeTranslator<T>
,FusionCodegenExecNode
- All Known Subinterfaces:
BatchExecNode<T>
,InputSortedExecNode<T>
,StreamExecNode<T>
- All Known Implementing Classes:
BatchExecBoundedStreamScan
,BatchExecCalc
,BatchExecCorrelate
,BatchExecDynamicFilteringDataCollector
,BatchExecExchange
,BatchExecExecutionOrderEnforcer
,BatchExecExpand
,BatchExecGlobalRuntimeFilterBuilder
,BatchExecHashAggregate
,BatchExecHashJoin
,BatchExecHashWindowAggregate
,BatchExecInputAdapter
,BatchExecLegacySink
,BatchExecLegacyTableSourceScan
,BatchExecLimit
,BatchExecLocalRuntimeFilterBuilder
,BatchExecLookupJoin
,BatchExecMatch
,BatchExecMultipleInput
,BatchExecNestedLoopJoin
,BatchExecOverAggregate
,BatchExecOverAggregateBase
,BatchExecPythonCalc
,BatchExecPythonCorrelate
,BatchExecPythonGroupAggregate
,BatchExecPythonGroupWindowAggregate
,BatchExecPythonOverAggregate
,BatchExecRank
,BatchExecRuntimeFilter
,BatchExecScriptTransform
,BatchExecSink
,BatchExecSort
,BatchExecSortAggregate
,BatchExecSortLimit
,BatchExecSortMergeJoin
,BatchExecSortWindowAggregate
,BatchExecTableSourceScan
,BatchExecUnion
,BatchExecValues
,BatchExecWindowTableFunction
,CommonExecAsyncCalc
,CommonExecCalc
,CommonExecCorrelate
,CommonExecExchange
,CommonExecExpand
,CommonExecLegacySink
,CommonExecLegacyTableSourceScan
,CommonExecLookupJoin
,CommonExecMatch
,CommonExecPythonCalc
,CommonExecPythonCorrelate
,CommonExecSink
,CommonExecTableSourceScan
,CommonExecUnion
,CommonExecValues
,CommonExecWindowTableFunction
,ExecNodeBase
,StreamExecAggregateBase
,StreamExecAsyncCalc
,StreamExecCalc
,StreamExecChangelogNormalize
,StreamExecCorrelate
,StreamExecDataStreamScan
,StreamExecDeduplicate
,StreamExecDropUpdateBefore
,StreamExecExchange
,StreamExecExpand
,StreamExecGlobalGroupAggregate
,StreamExecGlobalWindowAggregate
,StreamExecGroupAggregate
,StreamExecGroupTableAggregate
,StreamExecGroupWindowAggregate
,StreamExecIncrementalGroupAggregate
,StreamExecIntervalJoin
,StreamExecJoin
,StreamExecLegacySink
,StreamExecLegacyTableSourceScan
,StreamExecLimit
,StreamExecLocalGroupAggregate
,StreamExecLocalWindowAggregate
,StreamExecLookupJoin
,StreamExecMatch
,StreamExecMiniBatchAssigner
,StreamExecMultipleInput
,StreamExecOverAggregate
,StreamExecPythonCalc
,StreamExecPythonCorrelate
,StreamExecPythonGroupAggregate
,StreamExecPythonGroupTableAggregate
,StreamExecPythonGroupWindowAggregate
,StreamExecPythonOverAggregate
,StreamExecRank
,StreamExecSink
,StreamExecSort
,StreamExecSortLimit
,StreamExecTableSourceScan
,StreamExecTemporalJoin
,StreamExecTemporalSort
,StreamExecUnion
,StreamExecValues
,StreamExecWatermarkAssigner
,StreamExecWindowAggregate
,StreamExecWindowAggregateBase
,StreamExecWindowDeduplicate
,StreamExecWindowJoin
,StreamExecWindowRank
,StreamExecWindowTableFunction
@Internal public interface ExecNode<T> extends ExecNodeTranslator<T>, FusionCodegenExecNode
The representation of execution information for aFlinkPhysicalRel
.
-
-
Field Summary
Fields Modifier and Type Field Description static String
FIELD_NAME_CONFIGURATION
static String
FIELD_NAME_DESCRIPTION
static String
FIELD_NAME_ID
static String
FIELD_NAME_INPUT_PROPERTIES
static String
FIELD_NAME_OUTPUT_TYPE
static String
FIELD_NAME_STATE
static String
FIELD_NAME_TYPE
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
accept(ExecNodeVisitor visitor)
Accepts a visit from aExecNodeVisitor
.String
getDescription()
Returns a string which describes this node.int
getId()
The unique ID of the node.List<ExecEdge>
getInputEdges()
Returns a list of this node's inputExecEdge
s.List<InputProperty>
getInputProperties()
Returns a list of this node's input properties.LogicalType
getOutputType()
Returns the outputLogicalType
of this node, this type should be consistent with the type parameterExecNode
.void
replaceInputEdge(int index, ExecEdge newInputEdge)
Replaces theordinalInParent
th input edge.void
setCompiled(boolean isCompiled)
Declares whether the node has been created as part of a plan compilation.void
setInputEdges(List<ExecEdge> inputEdges)
Sets the inputExecEdge
s which connect this nodes and its input nodes.-
Methods inherited from interface org.apache.flink.table.planner.plan.nodes.exec.ExecNodeTranslator
translateToPlan
-
Methods inherited from interface org.apache.flink.table.planner.plan.nodes.exec.FusionCodegenExecNode
supportFusionCodegen, translateToFusionCodegenSpec
-
-
-
-
Field Detail
-
FIELD_NAME_ID
static final String FIELD_NAME_ID
- See Also:
- Constant Field Values
-
FIELD_NAME_TYPE
static final String FIELD_NAME_TYPE
- See Also:
- Constant Field Values
-
FIELD_NAME_CONFIGURATION
static final String FIELD_NAME_CONFIGURATION
- See Also:
- Constant Field Values
-
FIELD_NAME_DESCRIPTION
static final String FIELD_NAME_DESCRIPTION
- See Also:
- Constant Field Values
-
FIELD_NAME_INPUT_PROPERTIES
static final String FIELD_NAME_INPUT_PROPERTIES
- See Also:
- Constant Field Values
-
FIELD_NAME_OUTPUT_TYPE
static final String FIELD_NAME_OUTPUT_TYPE
- See Also:
- Constant Field Values
-
FIELD_NAME_STATE
static final String FIELD_NAME_STATE
- See Also:
- Constant Field Values
-
-
Method Detail
-
getId
int getId()
The unique ID of the node.
-
getDescription
String getDescription()
Returns a string which describes this node.
-
getOutputType
LogicalType getOutputType()
Returns the outputLogicalType
of this node, this type should be consistent with the type parameterExecNode
.Such as, if T is
RowData
, the output type should beRowType
. please refer to the JavaDoc ofRowData
for more info about mapping of logical types to internal data structures.
-
getInputProperties
List<InputProperty> getInputProperties()
Returns a list of this node's input properties.NOTE: If there are no inputs, returns an empty list, not null.
- Returns:
- List of this node's input properties.
-
getInputEdges
List<ExecEdge> getInputEdges()
Returns a list of this node's inputExecEdge
s.NOTE: If there are no inputs, returns an empty list, not null.
-
setInputEdges
void setInputEdges(List<ExecEdge> inputEdges)
Sets the inputExecEdge
s which connect this nodes and its input nodes.NOTE: If there are no inputs, the given inputEdges should be empty, not null.
- Parameters:
inputEdges
- the inputExecEdge
s.
-
replaceInputEdge
void replaceInputEdge(int index, ExecEdge newInputEdge)
Replaces theordinalInParent
th input edge.- Parameters:
index
- Position of the child input edge, 0 is the first.newInputEdge
- New edge that should be put at position `index`.
-
accept
void accept(ExecNodeVisitor visitor)
Accepts a visit from aExecNodeVisitor
.- Parameters:
visitor
- ExecNodeVisitor.
-
setCompiled
void setCompiled(boolean isCompiled)
Declares whether the node has been created as part of a plan compilation. Some translation properties might be impacted by this (e.g. UID generation for transformations).
-
-