n = new BulkIterationNode((BulkIterationBase<?>) c); p.setParallelism(containingIterationNode.getParallelism()); n = p;
final BulkIterationBase<?> iter = iterNode.getIterationContract(); iterNode.getParallelism(), defaultDataExchangeMode, closure); iterNode.setPartialSolution(partialSolution); iterNode.setNextPartialSolution(rootOfStepFunction, terminationCriterion); StaticDynamicPathIdentifier identifier = new StaticDynamicPathIdentifier(iterNode.getCostWeight()); iterNode.acceptForStepFunction(identifier);
@Override public void computeUnclosedBranchStack() { if (this.openBranches != null) { return; } // the resulting branches are those of the step function // because the BulkPartialSolution takes the input's branches addClosedBranches(getSingleRootOfStepFunction().closedBranchingNodes); List<UnclosedBranchDescriptor> result = getSingleRootOfStepFunction().openBranches; this.openBranches = (result == null || result.isEmpty()) ? Collections.<UnclosedBranchDescriptor>emptyList() : result; }
@Override public void computeUnclosedBranchStack() { if (this.openBranches != null) { return; } OptimizerNode inputToIteration = this.iterationNode.getPredecessorNode(); addClosedBranches(inputToIteration.closedBranchingNodes); List<UnclosedBranchDescriptor> fromInput = inputToIteration.getBranchesForParent(this.iterationNode.getIncomingConnection()); this.openBranches = (fromInput == null || fromInput.isEmpty()) ? Collections.<UnclosedBranchDescriptor>emptyList() : fromInput; } }
((BulkIterationNode) node).getNextPartialSolution() : ((BulkIterationPlanNode) node).getRootOfStepFunction(); ((BulkIterationNode) node).getPartialSolution() : ((BulkIterationPlanNode) node).getPartialSolutionPlanNode();
public BulkIterationBase<?> getIterationContract() { return (BulkIterationBase<?>) getOperator(); }
@Override public void computeInterestingPropertiesForInputs(CostEstimator estimator) { final InterestingProperties intProps = getInterestingProperties().clone();
if (nextPartialSolution.getParallelism() != getParallelism() || nextPartialSolution == partialSolution || nextPartialSolution instanceof BinaryUnionNode) noop.setParallelism(getParallelism());
final int maxNumIterations = bulkNode.getIterationNode().getIterationContract().getMaximumNumberOfIterations(); if (maxNumIterations < 1) { throw new CompilerException("Cannot create bulk iteration with unspecified maximum number of iterations."); AggregatorRegistry aggs = bulkNode.getIterationNode().getIterationContract().getAggregators(); Collection<AggregatorWithName<?>> allAggregators = aggs.getAllRegisteredAggregators();
@Override public void computeUnclosedBranchStack() { if (this.openBranches != null) { return; } OptimizerNode inputToIteration = this.iterationNode.getPredecessorNode(); addClosedBranches(inputToIteration.closedBranchingNodes); List<UnclosedBranchDescriptor> fromInput = inputToIteration.getBranchesForParent(this.iterationNode.getIncomingConnection()); this.openBranches = (fromInput == null || fromInput.isEmpty()) ? Collections.<UnclosedBranchDescriptor>emptyList() : fromInput; } }
((BulkIterationNode) node).getNextPartialSolution() : ((BulkIterationPlanNode) node).getRootOfStepFunction(); ((BulkIterationNode) node).getPartialSolution() : ((BulkIterationPlanNode) node).getPartialSolutionPlanNode();
BulkIterationPlanNode node = new BulkIterationPlanNode(this, this.getOperator().getName(), in, pspn, candidate); GlobalProperties gProps = candidate.getGlobalProperties().clone(); LocalProperties lProps = candidate.getLocalProperties().clone(); for (PlanNode terminationCandidate : terminationCriterionCandidates) { if (singleRoot.areBranchCompatible(candidate, terminationCandidate)) { BulkIterationPlanNode node = new BulkIterationPlanNode(this, "BulkIteration ("+this.getOperator().getName()+")", in, pspn, candidate, terminationCandidate); GlobalProperties gProps = candidate.getGlobalProperties().clone(); LocalProperties lProps = candidate.getLocalProperties().clone();
@Override public void computeInterestingPropertiesForInputs(CostEstimator estimator) { final InterestingProperties intProps = getInterestingProperties().clone();
if (nextPartialSolution.getParallelism() != getParallelism() || nextPartialSolution == partialSolution || nextPartialSolution instanceof BinaryUnionNode) noop.setParallelism(getParallelism());
final int maxNumIterations = bulkNode.getIterationNode().getIterationContract().getMaximumNumberOfIterations(); if (maxNumIterations < 1) { throw new CompilerException("Cannot create bulk iteration with unspecified maximum number of iterations."); AggregatorRegistry aggs = bulkNode.getIterationNode().getIterationContract().getAggregators(); Collection<AggregatorWithName<?>> allAggregators = aggs.getAllRegisteredAggregators();
final BulkIterationBase<?> iter = iterNode.getIterationContract(); iterNode.getParallelism(), defaultDataExchangeMode, closure); iterNode.setPartialSolution(partialSolution); iterNode.setNextPartialSolution(rootOfStepFunction, terminationCriterion); StaticDynamicPathIdentifier identifier = new StaticDynamicPathIdentifier(iterNode.getCostWeight()); iterNode.acceptForStepFunction(identifier);
@Override public void computeUnclosedBranchStack() { if (this.openBranches != null) { return; } // the resulting branches are those of the step function // because the BulkPartialSolution takes the input's branches addClosedBranches(getSingleRootOfStepFunction().closedBranchingNodes); List<UnclosedBranchDescriptor> result = getSingleRootOfStepFunction().openBranches; this.openBranches = (result == null || result.isEmpty()) ? Collections.<UnclosedBranchDescriptor>emptyList() : result; }
@Override public void computeUnclosedBranchStack() { if (this.openBranches != null) { return; } OptimizerNode inputToIteration = this.iterationNode.getPredecessorNode(); addClosedBranches(inputToIteration.closedBranchingNodes); List<UnclosedBranchDescriptor> fromInput = inputToIteration.getBranchesForParent(this.iterationNode.getIncomingConnection()); this.openBranches = (fromInput == null || fromInput.isEmpty()) ? Collections.<UnclosedBranchDescriptor>emptyList() : fromInput; } }
n = new BulkIterationNode((BulkIterationBase<?>) c); p.setParallelism(containingIterationNode.getParallelism()); n = p;
((BulkIterationNode) node).getNextPartialSolution() : ((BulkIterationPlanNode) node).getRootOfStepFunction(); ((BulkIterationNode) node).getPartialSolution() : ((BulkIterationPlanNode) node).getPartialSolutionPlanNode();