Class RequestBasedCardinalityEstimator

java.lang.Object
se.liu.ida.hefquin.engine.queryproc.impl.cardinality.RequestBasedCardinalityEstimator
All Implemented Interfaces:
CardinalityEstimator

public class RequestBasedCardinalityEstimator extends Object implements CardinalityEstimator
  • Field Details

  • Constructor Details

  • Method Details

    • addCardinalities

      public void addCardinalities(LogicalPlan... plans)
      Description copied from interface: CardinalityEstimator
      Annotates 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 QueryPlanningInfo of each of the plans:

      Specified by:
      addCardinalities in interface CardinalityEstimator
      Parameters:
      plans - - the plans to be annotated with cardinality estimates
    • addCardinalities

      public void addCardinalities(PhysicalPlan... plans)
      Description copied from interface: CardinalityEstimator
      Annotates 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 QueryPlanningInfo of each of the plans:

      Specified by:
      addCardinalities in interface CardinalityEstimator
      Parameters:
      plans - - the plans to be annotated with cardinality estimates
    • addCardinalitiesForRequests

      public void addCardinalitiesForRequests(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).
    • addCardinalitiesForRequests

      public void addCardinalitiesForRequests(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).
    • addCardinalitiesForRequests

      protected void addCardinalitiesForRequests(List<LogicalOpRequest<?,?>> reqOps, List<QueryPlanningInfo> infoObjs)
    • addCardinalityForRequestViaWrapper

      protected void addCardinalityForRequestViaWrapper(QueryPlanningInfo qpInfo, LogicalOpRequest<?,?> reqOp)
      Populates the given QueryPlanningInfo object 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

      protected void addCardinalityForFixedInputOps(QueryPlanningInfo qpInfo)
      Populates the given QueryPlanningInfo object with cardinality information, assuming that this object is for a plan with a fixed-input operator (see LogicalOpFixedSolMap).
    • extractNullarySubPlans

      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.
    • extractNullarySubPlans

      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.
    • extractNullarySubPlans

      protected void extractNullarySubPlans(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.
    • extractNullarySubPlans

      protected void extractNullarySubPlans(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.