public class WorksetIterationNode extends TwoInputNode implements IterationNode
| Modifier and Type | Class and Description |
|---|---|
static class |
WorksetIterationNode.SingleRootJoiner |
OptimizerNode.UnclosedBranchDescriptorinput1, input2, keys1, keys2cachedPlans, closedBranchingNodes, estimatedNumRecords, estimatedOutputSize, hereJoinedBranches, id, MAX_DYNAMIC_PATH_COST_WEIGHT, onDynamicPath, openBranches, remappedKeys, 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, getInputKeySet, getPactContract, getSecondIncomingConnection, getSecondPredecessorNode, haveValidOutputEstimates, placePipelineBreakersIfNecessary, setInputaddBroadcastConnection, addClosedBranch, addClosedBranches, addOutgoingConnection, areBranchCompatible, clearInterestingProperties, computeOutputEstimates, computeUnclosedBranchStackForBroadcastInputs, computeUnionOfInterestingPropertiesFromSuccessors, createUniqueFieldsForNode, getBranchesForParent, getBroadcastConnectionNames, getBroadcastConnections, getClosedBranchingNodes, getConstantKeySet, getDegreeOfParallelism, getDumpableInputs, getEstimatedAvgWidthPerOutputRecord, getEstimatedNumRecords, getEstimatedOutputSize, getId, getInterestingProperties, getMaxDepth, getMinimalMemoryAcrossAllSubTasks, getOpenBranches, getOptimizerNode, getOutgoingConnections, getPlanNode, getPredecessors, getRemappedKeys, getUniqueFields, hasUnclosedBranches, haveAllOutputConnectionInterestingProperties, identifyDynamicPath, initId, isBranching, isOnDynamicPath, mergeLists, prunePlanAlternatives, prunePlanAlternativesWithCommonBranching, readUniqueFieldsAnnotation, removeClosedBranches, setBroadcastInputs, setDegreeOfParallelism, setEstimatedNumRecords, setEstimatedOutputSize, toStringpublic 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)
public int getCostWeight()
getCostWeight in class OptimizerNodepublic TwoInputNode getSingleRootOfStepFunction()
public FieldList getSolutionSetKeyFields()
public OptimizerNode getInitialSolutionSetPredecessorNode()
public OptimizerNode getInitialWorksetPredecessorNode()
public String getName()
OptimizerNodegetName in class OptimizerNodepublic boolean isFieldConstant(int input,
int fieldNumber)
OptimizerNodeisFieldConstant in class TwoInputNodeinput - The input number.fieldNumber - The position of the field.protected void readStubAnnotations()
OptimizerNodereadStubAnnotations in class OptimizerNodeprotected void computeOperatorSpecificDefaultEstimates(DataStatistics statistics)
computeOperatorSpecificDefaultEstimates in class OptimizerNodeprotected List<OperatorDescriptorDual> getPossibleProperties()
getPossibleProperties in class TwoInputNodepublic void computeInterestingPropertiesForInputs(CostEstimator estimator)
OptimizerNodecomputeInterestingPropertiesForInputs in class TwoInputNodeestimator - The CostEstimator instance to use for plan cost estimation.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 TwoInputNodepublic void computeUnclosedBranchStack()
OptimizerNodeopenBranches 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 TwoInputNodepublic void acceptForStepFunction(Visitor<OptimizerNode> visitor)
acceptForStepFunction in interface IterationNodeCopyright © 2014 The Apache Software Foundation. All rights reserved.