Class CFRBasedParallelismCostFunctionForPlan
java.lang.Object
se.liu.ida.hefquin.engine.queryproc.impl.poptimizer.costmodel.CFRBasedCostFunctionForPlan
se.liu.ida.hefquin.engine.queryproc.impl.poptimizer.costmodel.CFRBasedParallelismCostFunctionForPlan
- All Implemented Interfaces:
CostFunctionForPlan
An implementation of
CostFunctionForPlan
that can be used
for any cost function that considers parallelism of operators
PhysicalOpMultiwayUnion
, PhysicalOpBinaryUnion
and PhysicalOpSymmetricHashJoin
, in which operators, the maximum
cost values among subQueries is taken into account. For other operators in the plan,
the cost is defined as the sum of operator-specific cost values.
This implementation uses recursion to first determine the cost values for subplans,
and to determine the operator-specific cost values the implementation
uses a CostFunctionForRootOp
.-
Field Summary
Fields inherited from class se.liu.ida.hefquin.engine.queryproc.impl.poptimizer.costmodel.CFRBasedCostFunctionForPlan
costFctForRoot
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
CFRBasedParallelismCostFunctionForPlan
(CostFunctionForRootOp costFctForRoot) -
Method Summary
Modifier and TypeMethodDescriptionaggregateValueForAllSubPlans
(Set<PhysicalPlan> visitedPlans, CompletableFuture<Integer> futureForRoot, PhysicalPlan plan) Methods inherited from class se.liu.ida.hefquin.engine.queryproc.impl.poptimizer.costmodel.CFRBasedCostFunctionForPlan
initiateCostEstimation
-
Constructor Details
-
CFRBasedParallelismCostFunctionForPlan
-
-
Method Details
-
aggregateValueForAllSubPlans
public CompletableFuture<Integer> aggregateValueForAllSubPlans(Set<PhysicalPlan> visitedPlans, CompletableFuture<Integer> futureForRoot, PhysicalPlan plan) - Overrides:
aggregateValueForAllSubPlans
in classCFRBasedCostFunctionForPlan
-