Class ExecNodeBase<T>

    • Method Detail

      • getContextFromAnnotation

        protected final ExecNodeContext getContextFromAnnotation()
        Retrieves the default context from the ExecNodeMetadata annotation to be serialized into the JSON plan.
      • getId

        public final int getId()
        Description copied from interface: ExecNode
        The unique ID of the node.
        Specified by:
        getId in interface ExecNode<T>
      • getDescription

        public String getDescription()
        Description copied from interface: ExecNode
        Returns a string which describes this node.
        Specified by:
        getDescription in interface ExecNode<T>
      • getOutputType

        public LogicalType getOutputType()
        Description copied from interface: ExecNode
        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.

        Specified by:
        getOutputType in interface ExecNode<T>
      • getInputProperties

        public List<InputProperty> getInputProperties()
        Description copied from interface: ExecNode
        Returns a list of this node's input properties.

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

        Specified by:
        getInputProperties in interface ExecNode<T>
        Returns:
        List of this node's input properties.
      • getInputEdges

        public List<ExecEdge> getInputEdges()
        Description copied from interface: ExecNode
        Returns a list of this node's input ExecEdges.

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

        Specified by:
        getInputEdges in interface ExecNode<T>
      • setInputEdges

        public void setInputEdges​(List<ExecEdge> inputEdges)
        Description copied from interface: ExecNode
        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.

        Specified by:
        setInputEdges in interface ExecNode<T>
        Parameters:
        inputEdges - the input ExecEdges.
      • replaceInputEdge

        public void replaceInputEdge​(int index,
                                     ExecEdge newInputEdge)
        Description copied from interface: ExecNode
        Replaces the ordinalInParentth input edge.
        Specified by:
        replaceInputEdge in interface ExecNode<T>
        Parameters:
        index - Position of the child input edge, 0 is the first.
        newInputEdge - New edge that should be put at position `index`.
      • setCompiled

        public void setCompiled​(boolean compiled)
        Description copied from interface: ExecNode
        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).
        Specified by:
        setCompiled in interface ExecNode<T>
      • translateToPlanInternal

        protected abstract Transformation<T> translateToPlanInternal​(org.apache.flink.table.planner.delegation.PlannerBase planner,
                                                                     ExecNodeConfig config)
        Internal method, translates this node into a Flink operator.
        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.
      • inputsContainSingleton

        protected boolean inputsContainSingleton()
        Whether singleton distribution is required.
      • getSimplifiedName

        protected String getSimplifiedName()
      • createTransformationDescription

        protected String createTransformationDescription​(ReadableConfig config)
      • createFormattedTransformationDescription

        protected String createFormattedTransformationDescription​(String description,
                                                                  ReadableConfig config)
      • translateToFusionCodegenSpecInternal

        protected OpFusionCodegenSpecGenerator translateToFusionCodegenSpecInternal​(org.apache.flink.table.planner.delegation.PlannerBase planner,
                                                                                    ExecNodeConfig config,
                                                                                    org.apache.flink.table.planner.codegen.CodeGeneratorContext parentCtx)
        Internal method, translates this node into a operator codegen spec generator.
        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.