Class RequestBasedCardinalityEstimator
java.lang.Object
se.liu.ida.hefquin.engine.queryproc.impl.cardinality.RequestBasedCardinalityEstimator
- All Implemented Interfaces:
CardinalityEstimator
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddCardinalities(LogicalPlan... plans) Annotates each of the given plans (including, recursively, each of their subplans) with estimates regarding their result cardinalities.voidaddCardinalities(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) voidaddCardinalitiesForRequests(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(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.
-
Field Details
-
fedAccMgr
-
-
Constructor Details
-
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) -
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.
-