use of org.apache.derby.iapi.store.access.conglomerate.ScanManager in project derby by apache.
the class RAMTransaction method openGroupFetchScan.
public GroupFetchScanController openGroupFetchScan(long conglomId, boolean hold, int open_mode, int lock_level, int isolation_level, FormatableBitSet scanColumnList, DataValueDescriptor[] startKeyValue, int startSearchOperator, Qualifier[][] qualifier, DataValueDescriptor[] stopKeyValue, int stopSearchOperator) throws StandardException {
if (SanityManager.DEBUG) {
if ((open_mode & ~(TransactionController.OPENMODE_FORUPDATE | TransactionController.OPENMODE_FOR_LOCK_ONLY | TransactionController.OPENMODE_SECONDARY_LOCKED)) != 0)
SanityManager.THROWASSERT("Bad open mode to openScan:" + Integer.toHexString(open_mode));
if (!(lock_level == MODE_RECORD | lock_level == MODE_TABLE))
SanityManager.THROWASSERT("Bad lock level to openScan:" + lock_level);
}
// Find the conglomerate.
Conglomerate conglom = findExistingConglomerate(conglomId);
// Get a scan controller.
ScanManager sm = conglom.openScan(this, rawtran, hold, open_mode, determine_lock_level(lock_level), determine_locking_policy(lock_level, isolation_level), isolation_level, scanColumnList, startKeyValue, startSearchOperator, qualifier, stopKeyValue, stopSearchOperator, (StaticCompiledOpenConglomInfo) null, (DynamicCompiledOpenConglomInfo) null);
// Keep track of it so we can release on close.
scanControllers.add(sm);
return (sm);
}
Aggregations