| org.apache.derby.iapi.store.access.GenericScanController
GenericScanController | public interface GenericScanController extends RowCountable(Code) | | The set of interfaces implemented by all types of ScanControllers.
A scan is the mechanism for iterating over the rows in a conglomerate,
the scan controller is the interface through which access clients
control the underlying scan. An instance of a scan controller can
be thought of as an open scan.
Scans are opened from a TransactionController.
A ScanController can handle partial rows. Partial rows are described in
RowUtil.
A scan controller is opened with a FormatableBitSet that describes the
columns that need to be returned on a fetch call. This FormatableBitSet
need not include any columns referenced in the qualifers, start
and/or stop keys.
See Also: TransactionController.openScan See Also: RowCountable See Also: RowUtil |
close | void close() throws StandardException(Code) | | Close the scan. This method always succeeds, and never throws
any exceptions. Callers must not use the scan controller after
closing it; they are strongly advised to clear out the scan
controller reference after closing.
exception: StandardException - Standard exception policy. |
getScanInfo | ScanInfo getScanInfo() throws StandardException(Code) | | Return ScanInfo object which describes performance of scan.
Return ScanInfo object which contains information about the current
state of the scan.
The statistics gathered by the scan are not reset to 0 by a reopenScan(),
rather they continue to accumulate.
See Also: ScanInfo The ScanInfo object which contains info about current scan. exception: StandardException - Standard exception policy. |
isKeyed | boolean isKeyed()(Code) | | Return whether this is a keyed conglomerate.
whether this is a keyed conglomerate. |
isTableLocked | boolean isTableLocked()(Code) | | Return whether this scan is table locked.
Implementation of this is not complete. Currently it does not give back
the right information on covering locks or lock escalation. If the
openScan() caller specifies a MODE_TABLE as the lock_level then this
routine will always return true. If the openScan() caller specifies a
MODE_RECORD as the lock_level then this routine will return true iff
the lock level of the system has been overridden either by the
derby.storage.rowLocking=false property, or by a shipped
configuration which disables row locking.
whether this scan is table locked. |
newRowLocationTemplate | RowLocation newRowLocationTemplate() throws StandardException(Code) | | Return a row location object to be used in calls to fetchLocation.
Return a row location object of the correct type to be used in calls to
fetchLocation.
a row location object to be used in calls to fetchLocation. exception: StandardException - Standard exception policy. |
reopenScan | void reopenScan(DataValueDescriptor[] startKeyValue, int startSearchOperator, Qualifier qualifier, DataValueDescriptor[] stopKeyValue, int stopSearchOperator) throws StandardException(Code) | | Reposition the current scan. This call is semantically the same as if
the current scan had been closed and a openScan() had been called instead.
The scan is reopened with against the same conglomerate, and the scan
is reopened with the same "scan column list", "hold" and "forUpdate"
parameters passed in the original openScan.
The statistics gathered by the scan are not reset to 0 by a reopenScan(),
rather they continue to accumulate.
Parameters: startKeyValue - An indexable row which holds a (partial) key value which, in combination with thestartSearchOperator, defines the starting position ofthe scan. If null, the starting position of the scanis the first row of the conglomerate. Parameters: startSearchOperator - an operator which defineshow the startKeyValue is to be searched for. If startSearchOperator is ScanController.GE, the scan starts onthe first row which is greater than or equal to the startKeyValue. If startSearchOperation is ScanController.GT,the scan starts on the first row whose key is greater thanstartKeyValue. The startSearchOperation parameter is ignored if the startKeyValue parameter is null. Parameters: qualifier - An array of qualifiers which, appliedto each key, restrict the rows returned by the scan. Rowsfor which any one of the qualifiers returns false are notreturned by the scan. If null, all rows are returned. Parameters: stopKeyValue - An indexable row which holds a (partial) key value which, in combination with thestopSearchOperator, defines the ending position ofthe scan. If null, the ending position of the scanis the last row of the conglomerate. Parameters: stopSearchOperator - an operator which defineshow the stopKeyValue is used to determine the scan stoppingposition. If stopSearchOperation is ScanController.GE, the scan stops just before the first row which is greater than orequal to the stopKeyValue. If stopSearchOperation isScanController.GT, the scan stops just before the first row whosekey is greater than startKeyValue. The stopSearchOperationparameter is ignored if the stopKeyValue parameter is null. exception: StandardException - Standard exception policy. |
reopenScanByRowLocation | void reopenScanByRowLocation(RowLocation startRowLocation, Qualifier qualifier) throws StandardException(Code) | | Reposition the current scan. This call is semantically the same as if
the current scan had been closed and a openScan() had been called instead.
The scan is reopened against the same conglomerate, and the scan
is reopened with the same "scan column list", "hold" and "forUpdate"
parameters passed in the original openScan.
The statistics gathered by the scan are not reset to 0 by a reopenScan(),
rather they continue to accumulate.
Note that this operation is currently only supported on Heap conglomerates.
Also note that order of rows within are heap are not guaranteed, so for
instance positioning at a RowLocation in the "middle" of a heap, then
inserting more data, then continuing the scan is not guaranteed to see
the new rows - they may be put in the "beginning" of the heap.
Parameters: startRowLocation - An existing RowLocation within the conglomerate,at which to position the start of the scan. The scan will begin at thislocation and continue forward until the end of the conglomerate. Positioning at a non-existent RowLocation (ie. an invalid one or one thathad been deleted), will result in an exception being thrown when the first next operation is attempted. Parameters: qualifier - An array of qualifiers which, appliedto each key, restrict the rows returned by the scan. Rowsfor which any one of the qualifiers returns false are notreturned by the scan. If null, all rows are returned. exception: StandardException - Standard exception policy. |
|
|