Package org.apache.wayang.core.optimizer
Class AggregateOptimizationContext
- java.lang.Object
-
- org.apache.wayang.core.optimizer.OptimizationContext
-
- org.apache.wayang.core.optimizer.AggregateOptimizationContext
-
public class AggregateOptimizationContext extends OptimizationContext
ThisOptimizationContextimplementation aggregates severalOptimizationContexts and exposes theirOptimizationContext.OperatorContextin an aggregated manner.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.wayang.core.optimizer.OptimizationContext
OptimizationContext.LoopContext, OptimizationContext.OperatorContext
-
-
Field Summary
-
Fields inherited from class org.apache.wayang.core.optimizer.OptimizationContext
hostLoopContext, job, logger
-
-
Constructor Summary
Constructors Constructor Description AggregateOptimizationContext(OptimizationContext.LoopContext loopContext)
-
Method Summary
-
Methods inherited from class org.apache.wayang.core.optimizer.OptimizationContext
addOneTimeOperators, getBase, getChannelConversionGraph, getConfiguration, getIterationNumber, getJob, getLoopContext, getNextIterationContext, getParent, getPruningStrategies, getRootParent, isFinalIteration, isInitialIteration, putIntoJobCache, queryJobCache, queryJobCache
-
-
-
-
Constructor Detail
-
AggregateOptimizationContext
public AggregateOptimizationContext(OptimizationContext.LoopContext loopContext)
-
-
Method Detail
-
addOneTimeOperator
public OptimizationContext.OperatorContext addOneTimeOperator(Operator operator)
Description copied from class:OptimizationContextAddOptimizationContext.OperatorContexts for theoperatorthat is executed once within this instance. Also add its encasedOperators. Potentially invokeOptimizationContext.addOneTimeLoop(OperatorContext)as well.- Specified by:
addOneTimeOperatorin classOptimizationContext
-
addOneTimeLoop
public void addOneTimeLoop(OptimizationContext.OperatorContext operatorContext)
Description copied from class:OptimizationContextAddOptimizationContexts for theloopthat is executed once within this instance.- Specified by:
addOneTimeLoopin classOptimizationContext
-
getOperatorContext
public OptimizationContext.OperatorContext getOperatorContext(Operator operator)
Description copied from class:OptimizationContextReturn theOptimizationContext.OperatorContextof theoperator.- Specified by:
getOperatorContextin classOptimizationContext- Parameters:
operator- a one-timeOperator(i.e., not in a nested loop)- Returns:
- the
OptimizationContext.OperatorContextfor theOperatorornullif none
-
updateOperatorContexts
public void updateOperatorContexts()
This instance caches for efficiency reasons the aggregatedOptimizationContext.OperatorContexts. This method causes a re-calculation of this cache.
-
getNestedLoopContext
public OptimizationContext.LoopContext getNestedLoopContext(LoopSubplan loopSubplan)
Description copied from class:OptimizationContextRetrieve theOptimizationContext.LoopContextfor theloopSubplan.- Specified by:
getNestedLoopContextin classOptimizationContext
-
clearMarks
public void clearMarks()
Description copied from class:OptimizationContextCallsOptimizationContext.OperatorContext.clearMarks()for all nestedOptimizationContext.OperatorContexts.- Specified by:
clearMarksin classOptimizationContext
-
getLocalOperatorContexts
public java.util.Map<Operator,OptimizationContext.OperatorContext> getLocalOperatorContexts()
- Specified by:
getLocalOperatorContextsin classOptimizationContext- Returns:
- the
OptimizationContext.OperatorContexts of this instance (exclusive of any base instance)
-
isTimeEstimatesComplete
public boolean isTimeEstimatesComplete()
- Specified by:
isTimeEstimatesCompletein classOptimizationContext- Returns:
- whether there is a
TimeEstimatefor eachExecutionOperator
-
mergeToBase
public void mergeToBase()
- Specified by:
mergeToBasein classOptimizationContext
-
getDefaultOptimizationContexts
public java.util.List<DefaultOptimizationContext> getDefaultOptimizationContexts()
Description copied from class:OptimizationContextGet theDefaultOptimizationContexts represented by this instance.- Specified by:
getDefaultOptimizationContextsin classOptimizationContext- Returns:
- a
Collectionof saidDefaultOptimizationContexts
-
-