Top Description Fields Constructors Methods
org.apache.derby.impl.store.access.conglomerate

public abstract Class GenericCostController

extends GenericController
implements StoreCostController
Class Inheritance
All Implemented Interfaces
org.apache.derby.iapi.store.access.StoreCostController, org.apache.derby.iapi.store.access.RowCountable
Known Direct Subclasses
org.apache.derby.impl.store.access.heap.HeapCostController
Imports
org.apache.derby.shared.common.error.StandardException, org.apache.derby.shared.common.reference.SQLState, org.apache.derby.iapi.store.access.StoreCostController, org.apache.derby.iapi.services.io.FormatableBitSet

A Generic class which implements the basic functionality needed for a cost controller.

Field Summary

Inherited from org.apache.derby.impl.store.access.conglomerate.GenericController:
open_conglom

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public double

Returns:

The cost of the fetch.
getFetchFromFullKeyCost
(FormatableBitSet
A description of which columns to return from row on the page into "templateRow." templateRow, and validColumns work together to describe the row to be returned by the fetch - see RowUtil for description of how these three parameters work together to describe a fetched "row".
validColumns
,
int
Describe the type of access the query will be performing to the ScanController. STORECOST_CLUSTERED - The location of one scan is likely clustered "close" to the previous scan. For instance if the query plan were to used repeated "reopenScan()'s" to probe for the next key in an index, then this flag should be be specified. If this flag is not set then each scan will be costed independant of any other predicted scan access.
access_type
)

Implements org.apache.derby.iapi.store.access.StoreCostController.getFetchFromFullKeyCost.

Return the cost of exact key lookup.

Inherited from org.apache.derby.impl.store.access.conglomerate.GenericController:
checkConsistencyclosedebugConglomerategetEstimatedRowCountgetInternalTablePropertySetgetOpenConglomgetRowPositionFromRowLocationgetSpaceInfogetTablePropertiesinitisKeyedisTableLockednewRowLocationTemplatequeueDeletePostCommitWorksetEstimatedRowCount

Constructor Detail

GenericCostControllerback to summary
public GenericCostController()

Method Detail

getFetchFromFullKeyCostback to summary
public double getFetchFromFullKeyCost(FormatableBitSet validColumns, int access_type) throws StandardException

Implements org.apache.derby.iapi.store.access.StoreCostController.getFetchFromFullKeyCost.

Return the cost of exact key lookup.

Return the estimated cost of calling ScanController.fetch() on the current conglomerate, with start and stop positions set such that an exact match is expected.

This call returns the cost of a fetchNext() performed on a scan which has been positioned with a start position which specifies exact match on all keys in the row.

Example:

In the case of a btree this call can be used to determine the cost of doing an exact probe into btree, giving all key columns. This cost can be used if the client knows it will be doing an exact key probe but does not have the key's at optimize time to use to make a call to getScanCost()

Parameters
validColumns:FormatableBitSet

A description of which columns to return from row on the page into "templateRow." templateRow, and validColumns work together to describe the row to be returned by the fetch - see RowUtil for description of how these three parameters work together to describe a fetched "row".

access_type:int

Describe the type of access the query will be performing to the ScanController. STORECOST_CLUSTERED - The location of one scan is likely clustered "close" to the previous scan. For instance if the query plan were to used repeated "reopenScan()'s" to probe for the next key in an index, then this flag should be be specified. If this flag is not set then each scan will be costed independant of any other predicted scan access.

Returns:double

The cost of the fetch.

Exceptions
StandardException:
Standard exception policy.
See Also
org.apache.derby.iapi.store.access.RowUtil