Class CFRBasedCostFunctionForPlan
java.lang.Object
se.liu.ida.hefquin.engine.queryproc.impl.poptimizer.costmodel.CFRBasedCostFunctionForPlan
- All Implemented Interfaces:
CostFunctionForPlan
- Direct Known Subclasses:
CFRBasedParallelismCostFunctionForPlan
Generic implementation of
CostFunctionForPlan
that can be used
for any cost function that is defined as the sum of operator-specific
cost values for all operators in the plan. This implementation uses
recursion to first determine the cost values for subplans, and to
determines the operator-specific cost values the implementation
uses a CostFunctionForRootOp
.-
Field Summary
-
Constructor Summary
ModifierConstructorDescriptionprotected
CFRBasedCostFunctionForPlan
(CostFunctionForRootOp costFctForRoot) -
Method Summary
Modifier and TypeMethodDescriptionaggregateValueForAllSubPlans
(Set<PhysicalPlan> visitedPlan, CompletableFuture<Integer> futureForRoot, PhysicalPlan plan) initiateCostEstimation
(Set<PhysicalPlan> visitedPlans, PhysicalPlan plan) A function for estimating the cost of a plan.
-
Field Details
-
costFctForRoot
-
-
Constructor Details
-
CFRBasedCostFunctionForPlan
-
-
Method Details
-
initiateCostEstimation
public CompletableFuture<Integer> initiateCostEstimation(Set<PhysicalPlan> visitedPlans, PhysicalPlan plan) Description copied from interface:CostFunctionForPlan
A function for estimating the cost of a plan.- Specified by:
initiateCostEstimation
in interfaceCostFunctionForPlan
- Parameters:
visitedPlans
- : Record a set of sub-plans (of plan) that have been visited during the cost estimation. This set can be used for checking if a subplan has been visited or not.
-
aggregateValueForAllSubPlans
public CompletableFuture<Integer> aggregateValueForAllSubPlans(Set<PhysicalPlan> visitedPlan, CompletableFuture<Integer> futureForRoot, PhysicalPlan plan)
-