

PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 
public interface RelOptCost
RelOptCost defines an interface for optimizer cost in terms of number of rows processed, CPU cost, and I/O cost. Optimizer implementations may use all of this information, or selectively ignore portions of it. The specific units for all of these quantities are rather vague; most relational expressions provide a default cost calculation, but optimizers can override this by plugging in their own cost models with welldefined meanings for each unit. Optimizers which supply their own cost models may also extend this interface with additional cost metrics such as memory usage.
Method Summary  

double 
divideBy(RelOptCost cost)
Computes the ratio between this cost and another cost. 
boolean 
equals(RelOptCost cost)
Compares this to another cost. 
double 
getCpu()

double 
getIo()

double 
getRows()

boolean 
isEqWithEpsilon(RelOptCost cost)
Compares this to another cost, allowing for slight roundoff errors. 
boolean 
isInfinite()

boolean 
isLe(RelOptCost cost)
Compares this to another cost. 
boolean 
isLt(RelOptCost cost)
Compares this to another cost. 
RelOptCost 
minus(RelOptCost cost)
Subtracts another cost from this. 
RelOptCost 
multiplyBy(double factor)
Multiplies this cost by a scalar factor. 
RelOptCost 
plus(RelOptCost cost)
Adds another cost to this. 
String 
toString()
Forces implementations to override Object.toString() and provide a
good cost rendering to use during tracing. 
Method Detail 

double getRows()
RelNode.getRows()
)double getCpu()
double getIo()
boolean isInfinite()
boolean equals(RelOptCost cost)
cost
 another cost
boolean isEqWithEpsilon(RelOptCost cost)
cost
 another cost
boolean isLe(RelOptCost cost)
cost
 another cost
boolean isLt(RelOptCost cost)
cost
 another cost
RelOptCost plus(RelOptCost cost)
cost
 another cost
RelOptCost minus(RelOptCost cost)
cost
 another cost
RelOptCost multiplyBy(double factor)
factor
 scalar factor
double divideBy(RelOptCost cost)
divideBy is the inverse of multiplyBy(double)
. For any
finite, nonzero cost and factor f,
cost.divideBy(cost.multiplyBy(f))
yields 1 / f
.
cost
 Other cost
String toString()
Object.toString()
and provide a
good cost rendering to use during tracing.
toString
in class Object


PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 