| java.lang.Object org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl org.apache.derby.impl.sql.execute.NoPutResultSetImpl org.apache.derby.impl.sql.execute.TableScanResultSet org.apache.derby.impl.sql.execute.BulkTableScanResultSet
BulkTableScanResultSet | class BulkTableScanResultSet extends TableScanResultSet implements CursorResultSet(Code) | | Read a base table or index in bulk. Most of the
work for this method is inherited from TableScanResultSet.
This class overrides getNextRowCore (and extends
re/openCore) to use a row array and fetch rows
from the Store in bulk (using fetchNextGroup).
Since it retrieves rows in bulk, locking is not
as is usual -- locks may have already been released
on rows as they are returned to the user. Hence,
this ResultSet is not suitable for a query running
Isolation Level 1, cursor stability.
Note that this code is only accessable from an
optimizer override. If it makes sense to have the
optimizer select bulk reads, then this should
probably be rolled into TableScanResultSet.
author: jamie |
Constructor Summary | |
| BulkTableScanResultSet(long conglomId, StaticCompiledOpenConglomInfo scoci, Activation activation, GeneratedMethod resultRowAllocator, int resultSetNumber, GeneratedMethod startKeyGetter, int startSearchOperator, GeneratedMethod stopKeyGetter, int stopSearchOperator, boolean sameStartStopPosition, Qualifier[][] qualifiers, String tableName, String userSuppliedOptimizerOverrides, String indexName, boolean isConstraint, boolean forUpdate, int colRefItem, int indexColItem, int lockMode, boolean tableLocked, int isolationLevel, int rowsPerRead, boolean oneRowScan, double optimizerEstimatedRowCount, double optimizerEstimatedCost) Constructor. |
BulkTableScanResultSet | BulkTableScanResultSet(long conglomId, StaticCompiledOpenConglomInfo scoci, Activation activation, GeneratedMethod resultRowAllocator, int resultSetNumber, GeneratedMethod startKeyGetter, int startSearchOperator, GeneratedMethod stopKeyGetter, int stopSearchOperator, boolean sameStartStopPosition, Qualifier[][] qualifiers, String tableName, String userSuppliedOptimizerOverrides, String indexName, boolean isConstraint, boolean forUpdate, int colRefItem, int indexColItem, int lockMode, boolean tableLocked, int isolationLevel, int rowsPerRead, boolean oneRowScan, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException(Code) | | Constructor. Just save off the rowsPerRead argument
and pass everything else down to TableScanResultSet
See Also: org.apache.derby.iapi.sql.execute.ResultSetFactory.getBulkTableScanResultSet exception: StandardException - thrown on failure to open |
canGetInstantaneousLocks | protected boolean canGetInstantaneousLocks()(Code) | | Can we get instantaneous locks when getting share row
locks at READ COMMITTED.
|
close | public void close() throws StandardException(Code) | | If the result set has been opened,
close the open scan. Delegate most
of the work to TableScanResultSet.
exception: StandardException - on error |
openCore | public void openCore() throws StandardException(Code) | | Open up the result set. Delegate
most work to TableScanResultSet.openCore().
Create a new array with rows
for use in fetchNextGroup().
exception: StandardException - thrown on failure to open |
reopenCore | public void reopenCore() throws StandardException(Code) | | Reopen the result set. Delegate
most work to TableScanResultSet.reopenCore().
Reuse the array of rows.
exception: StandardException - thrown on failure to open |
|
|