| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| public boolean | delete()
Implements org. Delete the row at the current position of the scan. |
| public void | didNotQualify()
Implements org. A call to allow client to indicate that current row does not qualify. |
| public boolean | doesCurrentPositionQualify()
Implements org. Returns true if the current position of the scan still qualifies under the set of qualifiers passed to the openScan(). |
| public void | fetchLocation(RowLocation templateLocation)
Implements org. Fetch the location of the current position in the scan. |
| public int | fetchNextGroup(DataValueDescriptor[][]
The array of rows to copy rows into.
row_array[].length must >= 1. The first entry
must be non-null destination rows, other entries
may be null and will be allocated by access
if needed. row_array, RowLocation[] If non-null, the array of row locations to
copy into. If null, no row locations are
retrieved. rowloc_array)Implements org. Fetch the next N rows from the table. |
| public int | fetchNextGroup(DataValueDescriptor[][] row_array, RowLocation[] old_rowloc_array, RowLocation[] new_rowloc_array)
Implements org.
|
| public void | fetchSet(long
The maximum number of rows to insert into the
Hash table. Pass in -1 if there is no maximum. max_rowcnt, int[] The column numbers of the columns in the
scan result row to be the key to the Hashtable.
"0" is the first column in the scan result
row (which may be different than the first
row in the table of the scan). key_column_numbers, BackingStoreHashtable hash_table)Implements org. Insert all rows that qualify for the current scan into the input Hash table. |
| public Properties | getAllScanInfo(Properties
Property list to fill in. prop)Implements org. Return all information gathered about the scan. |
| public long | Returns: The total estimated number of rows in the conglomerate.Implements org. Get the total estimated number of rows in the container. |
| public ScanInfo | Returns: The ScanInfo object which contains info about current scan.Implements org. Return ScanInfo object which describes performance of scan. |
| public boolean | isCurrentPositionDeleted()
Implements org. Returns true if the current position of the scan is at a deleted row. |
| public boolean | isHeldAfterCommit()
Implements org. Return true is the scan has been closed after a commit, but was opened with holdability and can be reopened using positionAtRowLocation. |
| public boolean | Returns: whether this is a keyed conglomerate.Implements org. Return whether this is a keyed conglomerate. |
| public boolean | Returns: whether this is table locked.Implements org. Return whether this scan is table locked. |
| public RowLocation | newRowLocationTemplate()
Implements org. Return a row location object of the correct type to be used in calls to fetchLocation. |
| public boolean | positionAtRowLocation(RowLocation
RowLocation for the new position for the scan. The
RowLocation submitted should be a RowLocation which has
previously been returned by this ScanController. rl)Implements org. Positions the scan at row location and locks the row. |
| public void | reopenScan(DataValueDescriptor[]
An indexable row which holds a
(partial) key value which, in combination with the
startSearchOperator, defines the starting position of
the scan. If null, the starting position of the scan
is the first row of the conglomerate. startKeyValue, int an operator which defines
how the startKeyValue is to be searched for. If
startSearchOperator is ScanController.GE, the scan starts on
the 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 than
startKeyValue. The startSearchOperation parameter is
ignored if the startKeyValue parameter is null. startSearchOperator, Qualifier[][] An array of qualifiers which, applied
to each key, restrict the rows returned by the scan. Rows
for which any one of the qualifiers returns false are not
returned by the scan. If null, all rows are returned. qualifier, DataValueDescriptor[] An indexable row which holds a
(partial) key value which, in combination with the
stopSearchOperator, defines the ending position of
the scan. If null, the ending position of the scan
is the last row of the conglomerate. stopKeyValue, int an operator which defines
how the stopKeyValue is used to determine the scan stopping
position. If stopSearchOperation is ScanController.GE, the scan
stops just before the first row which is greater than or
equal to the stopKeyValue. If stopSearchOperation is
ScanController.GT, the scan stops just before the first row whose
key is greater than startKeyValue. The stopSearchOperation
parameter is ignored if the stopKeyValue parameter is null. stopSearchOperator)Implements org. Reposition the current scan. |
| public void | reopenScanByRowLocation(RowLocation
An existing RowLocation within the conglomerate,
at which to position the start of the scan. The scan will begin at this
location and continue forward until the end of the conglomerate.
Positioning at a non-existent RowLocation (ie. an invalid one or one that
had been deleted), will result in an exception being thrown when the
first next operation is attempted. startRowLocation, Qualifier[][] An array of qualifiers which, applied
to each key, restrict the rows returned by the scan. Rows
for which any one of the qualifiers returns false are not
returned by the scan. If null, all rows are returned. qualifier)Implements org. Reposition the current scan. |
| public boolean | replace(DataValueDescriptor[] val, FormatableBitSet validColumns)
Implements org. Replace the entire row at the current position of the scan. |
| public void | setEstimatedRowCount(long
the estimated number of rows in the container. count)Implements org. Set the total estimated number of rows in the container. |
| Scan | back to summary |
|---|---|
| public Scan() | |
| delete | back to summary |
|---|---|
| public boolean delete() throws StandardException Implements org. Delete the row at the current position of the scan.
| |
| didNotQualify | back to summary |
|---|---|
| public void didNotQualify() throws StandardException Implements org. A call to allow client to indicate that current row does not qualify. Indicates to the ScanController that the current row does not qualify for the scan. If the isolation level of the scan allows, this may result in the scan releasing the lock on this row. Note that some scan implimentations may not support releasing locks on non-qualifying rows, or may delay releasing the lock until sometime later in the scan (ie. it may be necessary to keep the lock until either the scan is repositioned on the next row or page). This call should only be made while the scan is positioned on a current valid row. This call does not make sense for sort scans.
| |
| doesCurrentPositionQualify | back to summary |
|---|---|
| public boolean doesCurrentPositionQualify() throws StandardException Implements org. Returns true if the current position of the scan still qualifies under the set of qualifiers passed to the openScan().
| |
| fetchLocation | back to summary |
|---|---|
| public void fetchLocation(RowLocation templateLocation) throws StandardException Implements org. Fetch the location of the current position in the scan.
| |
| fetchNextGroup | back to summary |
|---|---|
| public int fetchNextGroup(DataValueDescriptor[][] row_array, RowLocation[] rowloc_array) throws StandardException Implements org. Fetch the next N rows from the table. Currently unimplemented for sorts.
| |
| fetchNextGroup | back to summary |
|---|---|
| public int fetchNextGroup(DataValueDescriptor[][] row_array, RowLocation[] old_rowloc_array, RowLocation[] new_rowloc_array) throws StandardException Implements org. | |
| fetchSet | back to summary |
|---|---|
| public void fetchSet(long max_rowcnt, int[] key_column_numbers, BackingStoreHashtable hash_table) throws StandardException Implements org. Insert all rows that qualify for the current scan into the input Hash table. Currently unimplemented for sorts.
| |
| getAllScanInfo | back to summary |
|---|---|
| public Properties getAllScanInfo(Properties prop) throws StandardException Implements org. Return all information gathered about the scan. This routine returns a list of properties which contains all information gathered about the scan. If a Property is passed in, then that property list is appeneded to, otherwise a new property object is created and returned. Currently sort scans doesn't track any information.
| |
| getEstimatedRowCount | back to summary |
|---|---|
| public long getEstimatedRowCount() throws StandardException Implements org. Get the total estimated number of rows in the container. The number is a rough estimate and may be grossly off. In general the server will cache the row count and then occasionally write the count unlogged to a backing store. If the system happens to shutdown before the store gets a chance to update the row count it may wander from reality. This call is currently only supported on Heap conglomerates, it will throw an exception if called on btree conglomerates.
| |
| getScanInfo | back to summary |
|---|---|
| public ScanInfo getScanInfo() throws StandardException Implements org. Return ScanInfo object which describes performance of scan. Return ScanInfo object which contains information about the current scan. Currently the ScanInfo does not have any performance data.
| |
| isCurrentPositionDeleted | back to summary |
|---|---|
| public boolean isCurrentPositionDeleted() throws StandardException Implements org. Returns true if the current position of the scan is at a deleted row.
| |
| isHeldAfterCommit | back to summary |
|---|---|
| public boolean isHeldAfterCommit() throws StandardException Implements org. Doc from org. Return true is the scan has been closed after a commit, but was opened with holdability and can be reopened using positionAtRowLocation.
| |
| isKeyed | back to summary |
|---|---|
| public boolean isKeyed() Implements org. Return whether this is a keyed conglomerate.
| |
| isTableLocked | back to summary |
|---|---|
| public boolean isTableLocked() Implements org. Return whether this scan is table locked.
| |
| newRowLocationTemplate | back to summary |
|---|---|
| public RowLocation newRowLocationTemplate() throws StandardException Implements org. Return a row location object of the correct type to be used in calls to fetchLocation.
| |
| positionAtRowLocation | back to summary |
|---|---|
| public boolean positionAtRowLocation(RowLocation rl) throws StandardException Implements org. Doc from org. Positions the scan at row location and locks the row. If the scan is not opened, it will be reopened if this is a holdable scan and there has not been any operations which causes RowLocations to be invalidated.
| |
| reopenScan | back to summary |
|---|---|
| public void reopenScan(DataValueDescriptor[] startKeyValue, int startSearchOperator, Qualifier[][] qualifier, DataValueDescriptor[] stopKeyValue, int stopSearchOperator) throws StandardException Implements org. Reposition the current scan.
| |
| reopenScanByRowLocation | back to summary |
|---|---|
| public void reopenScanByRowLocation(RowLocation startRowLocation, Qualifier[][] qualifier) throws StandardException Implements org. 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.
| |
| replace | back to summary |
|---|---|
| public boolean replace(DataValueDescriptor[] val, FormatableBitSet validColumns) throws StandardException Implements org. Replace the entire row at the current position of the scan.
| |
| setEstimatedRowCount | back to summary |
|---|---|
| public void setEstimatedRowCount(long count) throws StandardException Implements org. Set the total estimated number of rows in the container. Often, after a scan, the client of RawStore has a much better estimate of the number of rows in the container than what store has. For instance if we implement some sort of update statistics command, or just after a create index a complete scan will have been done of the table. In this case this interface allows the client to set the estimated row count for the container, and store will use that number for all future references. This call is currently only supported on Heap conglomerates, it will throw an exception if called on btree conglomerates.
| |