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:
BatchExecAdaptiveJoin, 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 a FlinkPhysicalRel.
  • Field Details

  • Method Details

    • getId

      int getId()
      The unique ID of the node.
    • getDescription

      String getDescription()
      Returns a string which describes this node.
    • getOutputType

      org.apache.flink.table.types.logical.LogicalType getOutputType()
      Returns the output LogicalType of this node, this type should be consistent with the type parameter ExecNode.

      Such as, if T is RowData, the output type should be RowType. please refer to the JavaDoc of RowData 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 input ExecEdges.

      NOTE: If there are no inputs, returns an empty list, not null.

    • setInputEdges

      void setInputEdges(List<ExecEdge> inputEdges)
      Sets the input ExecEdges 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 input ExecEdges.
    • replaceInputEdge

      void replaceInputEdge(int index, ExecEdge newInputEdge)
      Replaces the ordinalInParentth 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 a ExecNodeVisitor.
      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).