Package org.apache.wayang.core.optimizer
Class DefaultOptimizationContext
- java.lang.Object
-
- org.apache.wayang.core.optimizer.OptimizationContext
-
- org.apache.wayang.core.optimizer.DefaultOptimizationContext
-
public class DefaultOptimizationContext extends OptimizationContext
This implementation ofOptimizationContext
represents a direct mapping fromOptimizationContext.OperatorContext
to executions of the respectiveOperator
s.
-
-
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 DefaultOptimizationContext(Job job)
Create a new instance.DefaultOptimizationContext(Job job, Operator operator)
Creates a new instance.DefaultOptimizationContext(OptimizationContext base)
Forks anDefaultOptimizationContext
by providing a write-layer on top of thebase
.
-
Method Summary
-
Methods inherited from class org.apache.wayang.core.optimizer.OptimizationContext
addOneTimeOperators, getChannelConversionGraph, getConfiguration, getIterationNumber, getJob, getLoopContext, getNextIterationContext, getParent, getPruningStrategies, getRootParent, isFinalIteration, isInitialIteration, putIntoJobCache, queryJobCache, queryJobCache
-
-
-
-
Constructor Detail
-
DefaultOptimizationContext
public DefaultOptimizationContext(Job job)
Create a new instance.- Parameters:
job
- the optimization task; loops should already be isolated
-
DefaultOptimizationContext
public DefaultOptimizationContext(OptimizationContext base)
Forks anDefaultOptimizationContext
by providing a write-layer on top of thebase
.
-
-
Method Detail
-
createFrom
public static DefaultOptimizationContext createFrom(Job job)
Create a new instance and adds allOperator
s in theWayangPlan
.- Parameters:
job
- the optimization task; loops should already be isolated
-
addOneTimeOperator
public OptimizationContext.OperatorContext addOneTimeOperator(Operator operator)
Description copied from class:OptimizationContext
AddOptimizationContext.OperatorContext
s for theoperator
that is executed once within this instance. Also add its encasedOperator
s. Potentially invokeOptimizationContext.addOneTimeLoop(OperatorContext)
as well.- Specified by:
addOneTimeOperator
in classOptimizationContext
-
addOneTimeLoop
public void addOneTimeLoop(OptimizationContext.OperatorContext operatorContext)
AddDefaultOptimizationContext
s for theloop
that is executed once within this instance.- Specified by:
addOneTimeLoop
in classOptimizationContext
-
getOperatorContext
public OptimizationContext.OperatorContext getOperatorContext(Operator operator)
Return theOptimizationContext.OperatorContext
of theoperator
.- Specified by:
getOperatorContext
in classOptimizationContext
- Parameters:
operator
- a one-timeOperator
(i.e., not in a nested loop)- Returns:
- the
OptimizationContext.OperatorContext
for theOperator
ornull
if none
-
getNestedLoopContext
public OptimizationContext.LoopContext getNestedLoopContext(LoopSubplan loopSubplan)
Retrieve theOptimizationContext.LoopContext
for theloopSubplan
.- Specified by:
getNestedLoopContext
in classOptimizationContext
-
clearMarks
public void clearMarks()
CallsOptimizationContext.OperatorContext.clearMarks()
for all nestedOptimizationContext.OperatorContext
s.- Specified by:
clearMarks
in classOptimizationContext
-
getLocalOperatorContexts
public java.util.Map<Operator,OptimizationContext.OperatorContext> getLocalOperatorContexts()
- Specified by:
getLocalOperatorContexts
in classOptimizationContext
- Returns:
- the
OptimizationContext.OperatorContext
s of this instance (exclusive of any base instance)
-
isTimeEstimatesComplete
public boolean isTimeEstimatesComplete()
- Specified by:
isTimeEstimatesComplete
in classOptimizationContext
- Returns:
- whether there is a
TimeEstimate
for eachExecutionOperator
-
getBase
public DefaultOptimizationContext getBase()
- Overrides:
getBase
in classOptimizationContext
-
mergeToBase
public void mergeToBase()
- Specified by:
mergeToBase
in classOptimizationContext
-
getDefaultOptimizationContexts
public java.util.List<DefaultOptimizationContext> getDefaultOptimizationContexts()
Description copied from class:OptimizationContext
Get theDefaultOptimizationContext
s represented by this instance.- Specified by:
getDefaultOptimizationContexts
in classOptimizationContext
- Returns:
- a
Collection
of saidDefaultOptimizationContext
s
-
copy
public DefaultOptimizationContext copy()
Create a shallow copy of this instance.- Returns:
- the shallow copy
-
-