Class BatchExecExecutionOrderEnforcer

java.lang.Object
org.apache.flink.table.planner.plan.nodes.exec.ExecNodeBase<org.apache.flink.table.data.RowData>
org.apache.flink.table.planner.plan.nodes.exec.batch.BatchExecExecutionOrderEnforcer
All Implemented Interfaces:
BatchExecNode<org.apache.flink.table.data.RowData>, ExecNode<org.apache.flink.table.data.RowData>, ExecNodeTranslator<org.apache.flink.table.data.RowData>, FusionCodegenExecNode

public class BatchExecExecutionOrderEnforcer extends ExecNodeBase<org.apache.flink.table.data.RowData> implements BatchExecNode<org.apache.flink.table.data.RowData>
Batch ExecNode for ExecutionOrderEnforcer.

ExecutionOrderEnforcer has two inputs, one of which is a source, and the other is the dependent upstream. It enforces that the input source is executed after the dependent input is finished. Everything passed from the inputs is forwarded to the output, though typically the dependent input should not send anything.

The ExecutionOrderEnforcer should generally be chained with the source. If chaining is explicitly disabled, the enforcer can not work as expected.

The operator is used only for dynamic filtering at present.

  • Constructor Details

    • BatchExecExecutionOrderEnforcer

      public BatchExecExecutionOrderEnforcer(org.apache.flink.configuration.ReadableConfig tableConfig, List<InputProperty> inputProperties, org.apache.flink.table.types.logical.LogicalType outputType, String description)
  • Method Details

    • supportFusionCodegen

      public boolean supportFusionCodegen()
      Description copied from interface: FusionCodegenExecNode
      Whether this ExecNode supports OFCG or not.
      Specified by:
      supportFusionCodegen in interface FusionCodegenExecNode
      Overrides:
      supportFusionCodegen in class ExecNodeBase<org.apache.flink.table.data.RowData>
    • translateToFusionCodegenSpecInternal

      protected OpFusionCodegenSpecGenerator translateToFusionCodegenSpecInternal(PlannerBase planner, ExecNodeConfig config, CodeGeneratorContext parentCtx)
      Description copied from class: ExecNodeBase
      Internal method, translates this node into a operator codegen spec generator.
      Overrides:
      translateToFusionCodegenSpecInternal in class ExecNodeBase<org.apache.flink.table.data.RowData>
      Parameters:
      planner - The planner.
      config - per-ExecNode configuration that contains the merged configuration from various layers which all the nodes implementing this method should use, instead of retrieving configuration from the planner. For more details check ExecNodeConfig.
    • translateToPlanInternal

      protected org.apache.flink.api.dag.Transformation<org.apache.flink.table.data.RowData> translateToPlanInternal(PlannerBase planner, ExecNodeConfig config)
      Description copied from class: ExecNodeBase
      Internal method, translates this node into a Flink operator.
      Specified by:
      translateToPlanInternal in class ExecNodeBase<org.apache.flink.table.data.RowData>
      Parameters:
      planner - The planner.
      config - per-ExecNode configuration that contains the merged configuration from various layers which all the nodes implementing this method should use, instead of retrieving configuration from the planner. For more details check ExecNodeConfig.