Class RequestBasedCardinalityEstimator
java.lang.Object
se.liu.ida.hefquin.engine.queryproc.impl.cardinality.RequestBasedCardinalityEstimator
- All Implemented Interfaces:
CardinalityEstimator
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddCardinalities(QueryProcContext ctx, LogicalPlan... plans) Annotates each of the given plans (including, recursively, each of their subplans) with estimates regarding their result cardinalities.voidaddCardinalities(QueryProcContext ctx, PhysicalPlan... plans) Annotates each of the given plans (including, recursively, each of their subplans) with estimates regarding their result cardinalities.protected voidaddCardinalitiesForRequests(List<LogicalOpRequest<?, ?>> reqOps, List<QueryPlanningInfo> infoObjs, QueryProcContext ctx) voidaddCardinalitiesForRequests(QueryProcContext ctx, LogicalPlan... plans) Makes sure that every nullary subplan within each of the given plans is annotated with cardinality estimates (which are determined by issuing cardinality requests).voidaddCardinalitiesForRequests(QueryProcContext ctx, PhysicalPlan... plans) Makes sure that every nullary subplan within each of the given plans is annotated with cardinality estimates (which are determined by issuing cardinality requests).protected voidPopulates the givenQueryPlanningInfoobject with cardinality information, assuming that this object is for a plan with a fixed-input operator (seeLogicalOpFixedSolMap).protected voidaddCardinalityForRequestViaWrapper(QueryPlanningInfo qpInfo, LogicalOpRequest<?, ?> reqOp) Populates the givenQueryPlanningInfoobject with cardinality information, assuming that this object is for a plan with a request operator that has a wrapped endpoint as its federation member.protected Set<LogicalPlan> extractNullarySubPlans(LogicalPlan... plans) Returns all relevant nullary subplans that are somewhere within any of the given plans, where such a subplan is considered relevant if it does not yet have a cardinality estimate.protected voidextractNullarySubPlans(LogicalPlan plan, Set<LogicalPlan> extractedSubPlans) Extracts all relevant nullary subplans that are somewhere within the given plan and adds these subplans to the given set, where such a subplan is considered relevant if it does not yet have a cardinality estimate.protected Set<PhysicalPlan> extractNullarySubPlans(PhysicalPlan... plans) Returns all relevant nullary subplans that are somewhere within any of the given plans, where such a subplan is considered relevant if it does not yet have a cardinality estimate.protected voidextractNullarySubPlans(PhysicalPlan plan, Set<PhysicalPlan> extractedSubPlans) Extracts all relevant nullary subplans that are somewhere within the given plan and adds these subplans to the given set, where such a subplan is considered relevant if it does not yet have a cardinality estimate.
-
Constructor Details
-
RequestBasedCardinalityEstimator
public RequestBasedCardinalityEstimator()
-
-
Method Details
-
addCardinalities
Description copied from interface:CardinalityEstimatorAnnotates each of the given plans (including, recursively, each of their subplans) with estimates regarding their result cardinalities.More specifically, this method adds three query plan properties to the
QueryPlanningInfoof each of the plans:- Specified by:
addCardinalitiesin interfaceCardinalityEstimator- Parameters:
plans- - the plans to be annotated with cardinality estimates
-
addCardinalities
Description copied from interface:CardinalityEstimatorAnnotates each of the given plans (including, recursively, each of their subplans) with estimates regarding their result cardinalities.More specifically, this method adds three query plan properties to the
QueryPlanningInfoof each of the plans:- Specified by:
addCardinalitiesin interfaceCardinalityEstimator- Parameters:
plans- - the plans to be annotated with cardinality estimates
-
addCardinalitiesForRequests
Makes sure that every nullary subplan within each of the given plans is annotated with cardinality estimates (which are determined by issuing cardinality requests). -
addCardinalitiesForRequests
Makes sure that every nullary subplan within each of the given plans is annotated with cardinality estimates (which are determined by issuing cardinality requests). -
addCardinalitiesForRequests
protected void addCardinalitiesForRequests(List<LogicalOpRequest<?, ?>> reqOps, List<QueryPlanningInfo> infoObjs, QueryProcContext ctx) -
addCardinalityForRequestViaWrapper
protected void addCardinalityForRequestViaWrapper(QueryPlanningInfo qpInfo, LogicalOpRequest<?, ?> reqOp) Populates the givenQueryPlanningInfoobject with cardinality information, assuming that this object is for a plan with a request operator that has a wrapped endpoint as its federation member. -
addCardinalityForFixedInputOps
Populates the givenQueryPlanningInfoobject with cardinality information, assuming that this object is for a plan with a fixed-input operator (seeLogicalOpFixedSolMap). -
extractNullarySubPlans
Returns all relevant nullary subplans that are somewhere within any of the given plans, where such a subplan is considered relevant if it does not yet have a cardinality estimate. -
extractNullarySubPlans
Returns all relevant nullary subplans that are somewhere within any of the given plans, where such a subplan is considered relevant if it does not yet have a cardinality estimate. -
extractNullarySubPlans
Extracts all relevant nullary subplans that are somewhere within the given plan and adds these subplans to the given set, where such a subplan is considered relevant if it does not yet have a cardinality estimate. -
extractNullarySubPlans
Extracts all relevant nullary subplans that are somewhere within the given plan and adds these subplans to the given set, where such a subplan is considered relevant if it does not yet have a cardinality estimate.
-