public class BulkIterationNode extends SingleInputNode implements IterationNode
OptimizerNode.UnclosedBranchDescriptor
inConn, keys
cachedPlans, closedBranchingNodes, estimatedNumRecords, estimatedOutputSize, hereJoinedBranches, id, MAX_DYNAMIC_PATH_COST_WEIGHT, onDynamicPath, openBranches, uniqueFields
Constructor and Description |
---|
BulkIterationNode(BulkIterationBase<?> iteration)
Creates a new node for the bulk iteration.
|
Modifier and Type | Method and Description |
---|---|
void |
acceptForStepFunction(Visitor<OptimizerNode> visitor) |
void |
clearInterestingProperties() |
void |
computeInterestingPropertiesForInputs(CostEstimator estimator)
Tells the node to compute the interesting properties for its inputs.
|
protected void |
computeOperatorSpecificDefaultEstimates(DataStatistics statistics) |
void |
computeUnclosedBranchStack()
This method causes the node to compute the description of open branches in its sub-plan.
|
int |
getCostWeight() |
BulkIterationBase<?> |
getIterationContract() |
OptimizerNode |
getNextPartialSolution()
Gets the nextPartialSolution from this BulkIterationNode.
|
String |
getOperatorName()
Gets the name of this node, which is the name of the function/operator, or data source / data
sink.
|
BulkPartialSolutionNode |
getPartialSolution()
Gets the partialSolution from this BulkIterationNode.
|
protected List<OperatorDescriptorSingle> |
getPossibleProperties() |
SemanticProperties |
getSemanticProperties() |
OptimizerNode |
getSingleRootOfStepFunction() |
protected void |
instantiateCandidate(OperatorDescriptorSingle dps,
Channel in,
List<Set<? extends NamedChannel>> broadcastPlanChannels,
List<PlanNode> target,
CostEstimator estimator,
RequestedGlobalProperties globPropsReq,
RequestedLocalProperties locPropsReq) |
protected void |
readStubAnnotations()
Reads all stub annotations, i.e.
|
void |
setNextPartialSolution(OptimizerNode nextPartialSolution,
OptimizerNode terminationCriterion)
Sets the nextPartialSolution for this BulkIterationNode.
|
void |
setPartialSolution(BulkPartialSolutionNode partialSolution)
Sets the partialSolution for this BulkIterationNode.
|
accept, addLocalCandidates, getAlternativePlans, getIncomingConnection, getIncomingConnections, getOperator, getPredecessorNode, getSemanticPropertiesForGlobalPropertyFiltering, getSemanticPropertiesForLocalPropertyFiltering, setIncomingConnection, setInput
addBroadcastConnection, addClosedBranch, addClosedBranches, addOutgoingConnection, areBranchCompatible, computeOutputEstimates, computeUnclosedBranchStackForBroadcastInputs, computeUnionOfInterestingPropertiesFromSuccessors, getBranchesForParent, getBroadcastConnectionNames, getBroadcastConnections, getClosedBranchingNodes, getDumpableInputs, getEstimatedAvgWidthPerOutputRecord, getEstimatedNumRecords, getEstimatedOutputSize, getId, getInterestingProperties, getMaxDepth, getMinimalMemoryAcrossAllSubTasks, getOpenBranches, getOptimizerNode, getOutgoingConnections, getParallelism, getPlanNode, getPredecessors, getUniqueFields, hasUnclosedBranches, haveAllOutputConnectionInterestingProperties, identifyDynamicPath, initId, isBranching, isOnDynamicPath, markAllOutgoingConnectionsAsPipelineBreaking, mergeLists, prunePlanAlternatives, prunePlanAlternativesWithCommonBranching, readUniqueFieldsAnnotation, removeClosedBranches, setBroadcastInputs, setEstimatedNumRecords, setEstimatedOutputSize, setParallelism, toString
public BulkIterationNode(BulkIterationBase<?> iteration)
iteration
- The bulk iteration the node represents.public BulkIterationBase<?> getIterationContract()
public BulkPartialSolutionNode getPartialSolution()
public void setPartialSolution(BulkPartialSolutionNode partialSolution)
partialSolution
- The partialSolution to set.public OptimizerNode getNextPartialSolution()
public void setNextPartialSolution(OptimizerNode nextPartialSolution, OptimizerNode terminationCriterion)
nextPartialSolution
- The nextPartialSolution to set.public int getCostWeight()
getCostWeight
in class OptimizerNode
public OptimizerNode getSingleRootOfStepFunction()
public String getOperatorName()
OptimizerNode
getOperatorName
in class OptimizerNode
public SemanticProperties getSemanticProperties()
getSemanticProperties
in class SingleInputNode
protected void readStubAnnotations()
OptimizerNode
readStubAnnotations
in class OptimizerNode
protected void computeOperatorSpecificDefaultEstimates(DataStatistics statistics)
computeOperatorSpecificDefaultEstimates
in class OptimizerNode
protected List<OperatorDescriptorSingle> getPossibleProperties()
getPossibleProperties
in class SingleInputNode
public void computeInterestingPropertiesForInputs(CostEstimator estimator)
OptimizerNode
computeInterestingPropertiesForInputs
in class SingleInputNode
estimator
- The CostEstimator
instance to use for plan cost estimation.public void clearInterestingProperties()
clearInterestingProperties
in class OptimizerNode
public void computeUnclosedBranchStack()
OptimizerNode
openBranches
field to a stack of unclosed branches, the latest one top. A branch is considered closed, if
some later node sees all of the branching node's outputs, no matter if there have been more
branches to different paths in the meantime.computeUnclosedBranchStack
in class SingleInputNode
protected void instantiateCandidate(OperatorDescriptorSingle dps, Channel in, List<Set<? extends NamedChannel>> broadcastPlanChannels, List<PlanNode> target, CostEstimator estimator, RequestedGlobalProperties globPropsReq, RequestedLocalProperties locPropsReq)
instantiateCandidate
in class SingleInputNode
public void acceptForStepFunction(Visitor<OptimizerNode> visitor)
acceptForStepFunction
in interface IterationNode
Copyright © 2014–2021 The Apache Software Foundation. All rights reserved.