Class BinaryUnionNode

    • Constructor Detail

      • BinaryUnionNode

        public BinaryUnionNode​(org.apache.flink.api.common.operators.Union<?> union)
    • Method Detail

      • getOperatorName

        public String getOperatorName()
        Description copied from class: OptimizerNode
        Gets the name of this node, which is the name of the function/operator, or data source / data sink.
        Specified by:
        getOperatorName in class OptimizerNode
        Returns:
        The node name.
      • computeUnionOfInterestingPropertiesFromSuccessors

        public void computeUnionOfInterestingPropertiesFromSuccessors()
        Description copied from class: OptimizerNode
        Computes all the interesting properties that are relevant to this node. The interesting properties are a union of the interesting properties on each outgoing connection. However, if two interesting properties on the outgoing connections overlap, the interesting properties will occur only once in this set. For that, this method deduplicates and merges the interesting properties. This method returns copies of the original interesting properties objects and leaves the original objects, contained by the connections, unchanged.
        Overrides:
        computeUnionOfInterestingPropertiesFromSuccessors in class OptimizerNode
      • computeInterestingPropertiesForInputs

        public void computeInterestingPropertiesForInputs​(CostEstimator estimator)
        Description copied from class: OptimizerNode
        Tells the node to compute the interesting properties for its inputs. The interesting properties for the node itself must have been computed before. The node must then see how many of interesting properties it preserves and add its own.
        Overrides:
        computeInterestingPropertiesForInputs in class TwoInputNode
        Parameters:
        estimator - The CostEstimator instance to use for plan cost estimation.
      • getAlternativePlans

        public List<PlanNode> getAlternativePlans​(CostEstimator estimator)
        Description copied from class: OptimizerNode
        Computes the plan alternatives for this node, an implicitly for all nodes that are children of this node. This method must determine for each alternative the global and local properties and the costs. This method may recursively call getAlternatives() on its children to get their plan alternatives, and build its own alternatives on top of those.
        Overrides:
        getAlternativePlans in class TwoInputNode
        Parameters:
        estimator - The cost estimator used to estimate the costs of each plan alternative.
        Returns:
        A list containing all plan alternatives.
      • readStubAnnotations

        protected void readStubAnnotations()
        Description copied from class: OptimizerNode
        Reads all stub annotations, i.e. which fields remain constant, what cardinality bounds the functions have, which fields remain unique.
        Overrides:
        readStubAnnotations in class OptimizerNode
      • getSemanticProperties

        public org.apache.flink.api.common.operators.SemanticProperties getSemanticProperties()
        Overrides:
        getSemanticProperties in class TwoInputNode
      • computeOutputEstimates

        public void computeOutputEstimates​(DataStatistics statistics)
        Description copied from class: OptimizerNode
        Causes this node to compute its output estimates (such as number of rows, size in bytes) based on the inputs and the compiler hints. The compiler hints are instantiated with conservative default values which are used if no other values are provided. Nodes may access the statistics to determine relevant information.
        Overrides:
        computeOutputEstimates in class OptimizerNode
        Parameters:
        statistics - The statistics object which may be accessed to get statistical information. The parameter may be null, if no statistics are available.