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 Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description CostEstimate
add(CostEstimate addend, CostEstimate retval)
Add this cost estimate to another one.CostEstimate
cloneMe()
Get a copy of this CostEstimatedouble
compare(CostEstimate other)
Compare this cost estimate with the given cost estimate.CostEstimate
divide(double divisor, CostEstimate retval)
Divide this cost estimate by a scalar, non-dimensional number.boolean
isUninitialized()
Return whether or not this CostEstimate is uninitialized.CostEstimate
multiply(double multiplicand, CostEstimate retval)
Multiply this cost estimate by a scalar, non-dimensional number.double
rowCount()
Get the estimated number of rows returned by the ResultSet that this CostEstimate models.void
setCost(double cost, double rowCount, double singleScanRowCount)
Set the cost for this cost estimate.void
setCost(CostEstimate other)
Copy the values from the given cost estimate into this one.void
setSingleScanRowCount(double singleRowScanCount)
Set the single scan row count.double
singleScanRowCount()
Get the estimated number of rows returned by a single scan of the ResultSet that this CostEstimate models.-
Methods inherited from interface org.apache.derby.iapi.store.access.StoreCostResult
getEstimatedCost, getEstimatedRowCount, setEstimatedCost, setEstimatedRowCount
-
-
-
-
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.
-
-