public abstract class AbstractPartialSolutionNode extends OptimizerNode
OptimizerNode.UnclosedBranchDescriptor
cachedPlans, closedBranchingNodes, costWeight, estimatedNumRecords, estimatedOutputSize, hereJoinedBranches, id, MAX_DYNAMIC_PATH_COST_WEIGHT, onDynamicPath, openBranches, uniqueFields
Modifier | Constructor and Description |
---|---|
protected |
AbstractPartialSolutionNode(Operator<?> contract) |
Modifier and Type | Method and Description |
---|---|
void |
accept(Visitor<OptimizerNode> visitor)
This method implements the visit of a depth-first graph traversing visitor.
|
void |
computeInterestingPropertiesForInputs(CostEstimator estimator)
Tells the node to compute the interesting properties for its inputs.
|
protected void |
computeOperatorSpecificDefaultEstimates(DataStatistics statistics) |
protected void |
copyEstimates(OptimizerNode node) |
List<PlanNode> |
getAlternativePlans(CostEstimator estimator)
Computes the plan alternatives for this node, an implicitly for all nodes that are children
of this node.
|
List<DagConnection> |
getIncomingConnections()
Gets all incoming connections of this node.
|
abstract IterationNode |
getIterationNode() |
SemanticProperties |
getSemanticProperties() |
void |
identifyDynamicPath(int costWeight) |
boolean |
isOnDynamicPath() |
protected void |
readStubAnnotations()
Reads all stub annotations, i.e. which fields remain constant, what cardinality bounds the
functions have, which fields remain unique.
|
void |
setInput(Map<Operator<?>,OptimizerNode> contractToNode,
ExecutionMode dataExchangeMode)
This function connects the predecessors to this operator.
|
addBroadcastConnection, addClosedBranch, addClosedBranches, addOutgoingConnection, areBranchCompatible, clearInterestingProperties, computeOutputEstimates, computeUnclosedBranchStack, computeUnclosedBranchStackForBroadcastInputs, computeUnionOfInterestingPropertiesFromSuccessors, getBranchesForParent, getBroadcastConnectionNames, getBroadcastConnections, getClosedBranchingNodes, getCostWeight, getDumpableInputs, getEstimatedAvgWidthPerOutputRecord, getEstimatedNumRecords, getEstimatedOutputSize, getId, getInterestingProperties, getMaxDepth, getMinimalMemoryAcrossAllSubTasks, getOpenBranches, getOperator, getOperatorName, getOptimizerNode, getOutgoingConnections, getParallelism, getPlanNode, getPredecessors, getUniqueFields, hasUnclosedBranches, haveAllOutputConnectionInterestingProperties, initId, isBranching, markAllOutgoingConnectionsAsPipelineBreaking, mergeLists, prunePlanAlternatives, prunePlanAlternativesWithCommonBranching, readUniqueFieldsAnnotation, removeClosedBranches, setBroadcastInputs, setEstimatedNumRecords, setEstimatedOutputSize, setParallelism, toString
protected AbstractPartialSolutionNode(Operator<?> contract)
protected void copyEstimates(OptimizerNode node)
public abstract IterationNode getIterationNode()
public boolean isOnDynamicPath()
isOnDynamicPath
in class OptimizerNode
public void identifyDynamicPath(int costWeight)
identifyDynamicPath
in class OptimizerNode
public List<DagConnection> getIncomingConnections()
OptimizerNode
getIncomingConnections
in class OptimizerNode
public void setInput(Map<Operator<?>,OptimizerNode> contractToNode, ExecutionMode dataExchangeMode)
OptimizerNode
setInput
in class OptimizerNode
contractToNode
- The map from program operators to optimizer nodes.dataExchangeMode
- The data exchange mode to use, if the operator does not specify
one.protected void computeOperatorSpecificDefaultEstimates(DataStatistics statistics)
computeOperatorSpecificDefaultEstimates
in class OptimizerNode
public void computeInterestingPropertiesForInputs(CostEstimator estimator)
OptimizerNode
computeInterestingPropertiesForInputs
in class OptimizerNode
estimator
- The CostEstimator
instance to use for plan cost estimation.public List<PlanNode> getAlternativePlans(CostEstimator estimator)
OptimizerNode
getAlternatives()
on its
children to get their plan alternatives, and build its own alternatives on top of those.getAlternativePlans
in class OptimizerNode
estimator
- The cost estimator used to estimate the costs of each plan alternative.public SemanticProperties getSemanticProperties()
getSemanticProperties
in class OptimizerNode
protected void readStubAnnotations()
OptimizerNode
readStubAnnotations
in class OptimizerNode
public void accept(Visitor<OptimizerNode> visitor)
OptimizerNode
preVisit()
method, then hand the visitor to their children, and
finally call the postVisit()
method.accept
in interface Visitable<OptimizerNode>
accept
in class OptimizerNode
visitor
- The graph traversing visitor.Visitable.accept(org.apache.flink.util.Visitor)
Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.