org.apache.derby.iapi.sql.compile
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.

Author:
Jeff Lichtman

Method Summary
 CostEstimate add(CostEstimate addend, CostEstimate retval)
          Add this cost estimate to another one.
 CostEstimate cloneMe()
          Get a copy of this CostEstimate
 double 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(CostEstimate other)
          Copy the values from the given cost estimate into this one.
 void setCost(double cost, double rowCount, double singleScanRowCount)
          Set the cost for this cost estimate.
 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

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


setCost

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


setSingleScanRowCount

public void setSingleScanRowCount(double singleRowScanCount)
Set the single scan row count.


compare

public 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

public 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

public 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

public 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

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


singleScanRowCount

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


cloneMe

public CostEstimate cloneMe()
Get a copy of this CostEstimate


isUninitialized

public boolean isUninitialized()
Return whether or not this CostEstimate is uninitialized.

Returns:
Whether or not this CostEstimate is uninitialized.


Apache Derby V10.0 Engine Documentation - Copyright © 1997,2004 The Apache Software Foundation or its licensors, as applicable.