public class WorksetIterationNode extends TwoInputNode implements IterationNode
Modifier and Type | Class and Description |
---|---|
static class |
WorksetIterationNode.SingleRootJoiner |
OptimizerNode.UnclosedBranchDescriptor
input1, input2, keys1, keys2
cachedPlans, closedBranchingNodes, estimatedNumRecords, estimatedOutputSize, hereJoinedBranches, id, MAX_DYNAMIC_PATH_COST_WEIGHT, onDynamicPath, openBranches, uniqueFields
Constructor and Description |
---|
WorksetIterationNode(DeltaIterationBase<?,?> iteration)
Creates a new node with a single input for the optimizer plan.
|
accept, addLocalCandidates, getAlternativePlans, getFirstIncomingConnection, getFirstPredecessorNode, getIncomingConnections, getOperator, getSecondIncomingConnection, getSecondPredecessorNode, getSemanticPropertiesForGlobalPropertyFiltering, getSemanticPropertiesForLocalPropertyFiltering, placePipelineBreakersIfNecessary, 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 WorksetIterationNode(DeltaIterationBase<?,?> iteration)
iteration
- The iteration operator that the node represents.public DeltaIterationBase<?,?> getIterationContract()
public SolutionSetNode getSolutionSetNode()
public WorksetNode getWorksetNode()
public OptimizerNode getNextWorkset()
public OptimizerNode getSolutionSetDelta()
public void setPartialSolution(SolutionSetNode solutionSetNode, WorksetNode worksetNode)
public void setNextPartialSolution(OptimizerNode solutionSetDelta, OptimizerNode nextWorkset, ExecutionMode executionMode)
public int getCostWeight()
getCostWeight
in class OptimizerNode
public TwoInputNode getSingleRootOfStepFunction()
public FieldList getSolutionSetKeyFields()
public OptimizerNode getInitialSolutionSetPredecessorNode()
public OptimizerNode getInitialWorksetPredecessorNode()
public String getOperatorName()
OptimizerNode
getOperatorName
in class OptimizerNode
public SemanticProperties getSemanticProperties()
getSemanticProperties
in class TwoInputNode
protected void readStubAnnotations()
OptimizerNode
readStubAnnotations
in class OptimizerNode
protected void computeOperatorSpecificDefaultEstimates(DataStatistics statistics)
computeOperatorSpecificDefaultEstimates
in class OptimizerNode
protected List<OperatorDescriptorDual> getPossibleProperties()
getPossibleProperties
in class TwoInputNode
public void computeInterestingPropertiesForInputs(CostEstimator estimator)
OptimizerNode
computeInterestingPropertiesForInputs
in class TwoInputNode
estimator
- The CostEstimator
instance to use for plan cost estimation.public void clearInterestingProperties()
clearInterestingProperties
in class OptimizerNode
protected void instantiate(OperatorDescriptorDual operator, Channel solutionSetIn, Channel worksetIn, List<Set<? extends NamedChannel>> broadcastPlanChannels, List<PlanNode> target, CostEstimator estimator, RequestedGlobalProperties globPropsReqSolutionSet, RequestedGlobalProperties globPropsReqWorkset, RequestedLocalProperties locPropsReqSolutionSet, RequestedLocalProperties locPropsReqWorkset)
instantiate
in class TwoInputNode
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 TwoInputNode
public void acceptForStepFunction(Visitor<OptimizerNode> visitor)
acceptForStepFunction
in interface IterationNode
Copyright © 2014–2020 The Apache Software Foundation. All rights reserved.