Interface CostEstimate

  • All Superinterfaces:
    StoreCostResult
    All Known Implementing Classes:
    CostEstimateImpl

    public interface CostEstimate
    extends StoreCostResult
    A CostEstimate represents the cost of getting a ResultSet, along with the ordering of rows in the ResultSet, and the estimated number of rows in this ResultSet.
    • Method Detail

      • setCost

        void setCost​(double cost,
                     double rowCount,
                     double singleScanRowCount)
        Set the cost for this cost estimate.
      • setCost

        void setCost​(CostEstimate other)
        Copy the values from the given cost estimate into this one.
      • setSingleScanRowCount

        void setSingleScanRowCount​(double singleRowScanCount)
        Set the single scan row count.
      • compare

        double compare​(CostEstimate other)
        Compare this cost estimate with the given cost estimate.
        Parameters:
        other - The cost estimate to compare this one with
        Returns:
        < 0 if this < other, 0 if this == other, > 0 if this > other
      • add

        CostEstimate add​(CostEstimate addend,
                         CostEstimate retval)
        Add this cost estimate to another one. This presumes that any row ordering is destroyed.
        Parameters:
        addend - This cost estimate to add this one to.
        retval - If non-null, put the result here.
        Returns:
        this + other.
      • multiply

        CostEstimate multiply​(double multiplicand,
                              CostEstimate retval)
        Multiply this cost estimate by a scalar, non-dimensional number. This presumes that any row ordering is destroyed.
        Parameters:
        multiplicand - The value to multiply this CostEstimate by.
        retval - If non-null, put the result here.
        Returns:
        this * multiplicand
      • divide

        CostEstimate divide​(double divisor,
                            CostEstimate retval)
        Divide this cost estimate by a scalar, non-dimensional number.
        Parameters:
        divisor - The value to divide this CostEstimate by.
        retval - If non-null, put the result here.
        Returns:
        this / divisor
      • rowCount

        double rowCount()
        Get the estimated number of rows returned by the ResultSet that this CostEstimate models.
      • singleScanRowCount

        double singleScanRowCount()
        Get the estimated number of rows returned by a single scan of the ResultSet that this CostEstimate models.
      • cloneMe

        CostEstimate cloneMe()
        Get a copy of this CostEstimate
      • isUninitialized

        boolean isUninitialized()
        Return whether or not this CostEstimate is uninitialized.
        Returns:
        Whether or not this CostEstimate is uninitialized.