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.common.CommonExecMatch
All Implemented Interfaces:
ExecNode<org.apache.flink.table.data.RowData>, ExecNodeTranslator<org.apache.flink.table.data.RowData>, FusionCodegenExecNode, MultipleTransformationTranslator<org.apache.flink.table.data.RowData>
Direct Known Subclasses:
BatchExecMatch, StreamExecMatch

public abstract class CommonExecMatch extends ExecNodeBase<org.apache.flink.table.data.RowData> implements ExecNode<org.apache.flink.table.data.RowData>, MultipleTransformationTranslator<org.apache.flink.table.data.RowData>
Common ExecNode which matches along with MATCH_RECOGNIZE.
  • Field Details

  • Constructor Details

    • CommonExecMatch

      public CommonExecMatch(int id, ExecNodeContext context, org.apache.flink.configuration.ReadableConfig persistedConfig, MatchSpec matchSpec, List<InputProperty> inputProperties, org.apache.flink.table.types.logical.LogicalType outputType, String description)
  • Method Details

    • 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.
    • checkOrderKeys

      protected abstract void checkOrderKeys(org.apache.flink.table.types.logical.RowType inputRowType)
    • translateOrder

      protected abstract org.apache.flink.api.dag.Transformation<org.apache.flink.table.data.RowData> translateOrder(PlannerBase planner, org.apache.flink.api.dag.Transformation<org.apache.flink.table.data.RowData> inputTransform, org.apache.flink.table.types.logical.RowType inputRowType, ExecEdge inputEdge, ExecNodeConfig config)
    • translatePattern

      @VisibleForTesting public static org.apache.flink.api.java.tuple.Tuple2<org.apache.flink.cep.pattern.Pattern<org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData>,List<String>> translatePattern(MatchSpec matchSpec, org.apache.flink.configuration.ReadableConfig config, ClassLoader classLoader, RelBuilder relBuilder, org.apache.flink.table.types.logical.RowType inputRowType)
    • isProcTime

      public boolean isProcTime(org.apache.flink.table.types.logical.RowType inputRowType)