public class ReadCommittedLocker extends BuddyLocker
defaultNoWait, deleteInfo, envImpl, handleLockToHandleMap, handleToHandleLockMap, id, lockManager, readUncommittedDefault, thread| Modifier and Type | Method and Description |
|---|---|
void |
addDeleteInfo(BIN bin,
Key deletedKey)
Forwards this method to the transactional buddy.
|
boolean |
createdNode(long nodeId)
Forwards this method to the transactional buddy.
|
static ReadCommittedLocker |
createReadCommittedLocker(EnvironmentImpl env,
Locker buddy) |
long |
getAbortLsn(long nodeId)
Forwards this method to the transactional buddy.
|
WriteLockInfo |
getWriteLockInfo(long nodeId) |
boolean |
isReadCommittedIsolation()
Is always read-committed isolation.
|
boolean |
isTransactional()
Is always transactional because the buddy locker is transactional.
|
(package private) LockResult |
lockInternal(long nodeId,
LockType lockType,
boolean noWait,
DatabaseImpl database)
Forwards write locks to the buddy locker (the transaction locker).
|
Locker |
newNonTxnLocker()
Returns a new ReadCommittedLocker that shares locks with this locker by
virtue of both lockers only holding READ locks.
|
void |
registerCursor(CursorImpl cursor)
Forwards this method to the transactional buddy.
|
boolean |
releaseLock(long nodeId)
Releases the lock from this locker, or if not owned by this locker then
releases it from the buddy locker.
|
void |
unRegisterCursor(CursorImpl cursor)
Forwards this method to the transactional buddy.
|
createBuddyLocker, getBuddy, getLockTimeout, getTxnLocker, getTxnTimeout, isTimedOut, releaseNonTxnLocks, setLockTimeout, setTxnTimeout, sharesLocksWithaddLock, checkState, collectStats, createBasicLocker, createBasicLocker, createBasicLocker, generateId, getWriteOwnerLocker, isSerializableIsolation, markDeleteAtTxnEnd, moveWriteToReadLock, nonTxnOperationEnd, operationEnd, removeLock, setHandleLockOwneraddToHandleMaps, close, demoteLock, dumpLockTable, getDefaultNoWait, getId, getTxnStartMillis, getWaitingFor, initApiReadLock, isHandleLockTransferrable, isReadUncommittedDefault, lock, nonBlockingLock, operationEnd, operationEnd, setOnlyAbortable, setWaitingFor, toString, transferHandleLock, transferHandleLockToHandle, unregisterHandlepublic static ReadCommittedLocker createReadCommittedLocker(EnvironmentImpl env, Locker buddy) throws DatabaseException
DatabaseExceptionpublic Locker newNonTxnLocker() throws DatabaseException
newNonTxnLocker in class BasicLockerDatabaseExceptionLockResult lockInternal(long nodeId, LockType lockType, boolean noWait, DatabaseImpl database) throws DatabaseException
lockInternal in class BasicLockernodeId - is the node to lock.lockType - is the type of lock to request.noWait - is true to override the defaultNoWait setting. If true,
or if defaultNoWait is true, throws LockNotGrantedException if the lock
cannot be granted without waiting.database - is the database containing nodeId.DeadlockException - if acquiring a blocking lock would result in a
deadlock.DatabaseExceptionLocker.lockInternal(long, com.sleepycat.je.txn.LockType, boolean, com.sleepycat.je.dbi.DatabaseImpl)public boolean releaseLock(long nodeId)
throws DatabaseException
releaseLock in class LockerDatabaseExceptionpublic boolean createdNode(long nodeId)
throws DatabaseException
createdNode in class BasicLockerDatabaseExceptionpublic long getAbortLsn(long nodeId)
throws DatabaseException
getAbortLsn in class BasicLockerDatabaseExceptionpublic WriteLockInfo getWriteLockInfo(long nodeId) throws DatabaseException
getWriteLockInfo in class BasicLockerDatabaseExceptionpublic void addDeleteInfo(BIN bin, Key deletedKey) throws DatabaseException
addDeleteInfo in class LockerDatabaseExceptionpublic void registerCursor(CursorImpl cursor) throws DatabaseException
registerCursor in class BasicLockerDatabaseExceptionpublic void unRegisterCursor(CursorImpl cursor) throws DatabaseException
unRegisterCursor in class BasicLockerDatabaseExceptionpublic boolean isTransactional()
isTransactional in class BasicLockerpublic boolean isReadCommittedIsolation()
isReadCommittedIsolation in class BasicLockerCopyright (c) 2004,2008 Oracle. All rights reserved.