|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.sleepycat.je.txn.Locker
com.sleepycat.je.txn.BasicLocker
com.sleepycat.je.txn.BuddyLocker
com.sleepycat.je.txn.ReadCommittedLocker
Extends BuddyLocker to acquire write locks using the buddy locker (the transaction locker). This is used for ReadCommitted (Degree 2) isolation.
| Field Summary |
| Fields inherited from class com.sleepycat.je.txn.Locker |
defaultNoWait, deleteInfo, envImpl, handleLockToHandleMap, handleToHandleLockMap, id, lockManager, lockTimeOutMillis, readUncommittedDefault, thread |
| Constructor Summary | |
ReadCommittedLocker(EnvironmentImpl env,
Locker buddy)
Creates a ReadCommittedLocker. |
|
| Method Summary | |
void |
addDeleteInfo(BIN bin,
Key deletedKey)
Forwards this method to the transactional buddy. |
boolean |
createdNode(long nodeId)
Forwards this method to the transactional buddy. |
boolean |
getAbortKnownDeleted(long nodeId)
Forwards this method to the transactional buddy. |
long |
getAbortLsn(long nodeId)
Forwards this method to the transactional buddy. |
boolean |
isReadCommittedIsolation()
Is always read-committed isolation. |
boolean |
isTransactional()
Is always transactional because the buddy locker is transactional. |
LockResult |
lock(long nodeId,
LockType lockType,
DatabaseImpl database)
Forwards write locks to the buddy locker (the transaction locker). |
Locker |
newNonTxnLocker()
Creates a new instance of this txn for the same environment. |
void |
registerCursor(CursorImpl cursor)
Forwards this method to the transactional buddy. |
void |
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. |
| Methods inherited from class com.sleepycat.je.txn.BuddyLocker |
getBuddy, getTxnLocker, releaseNonTxnLocks, sharesLocksWith |
| Methods inherited from class com.sleepycat.je.txn.BasicLocker |
addLock, checkState, collectStats, generateId, getOwnerAbortLsn, getWriteOwnerLocker, isSerializableIsolation, markDeleteAtTxnEnd, moveWriteToReadLock, nonBlockingReadLock, operationEnd, operationEnd, removeLock, setHandleLockOwner |
| Methods inherited from class com.sleepycat.je.txn.Locker |
addToHandleMaps, demoteLock, dumpLockTable, getId, getLockTimeout, getTxnStartMillis, getTxnTimeOut, getWaitingFor, isHandleLockTransferrable, isReadUncommittedDefault, isTimedOut, operationEnd, rememberHandleWriteLock, setLockTimeout, setOnlyAbortable, setTxnTimeout, setWaitingFor, toString, transferHandleLock, transferHandleLockToHandle, unregisterHandle |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
public ReadCommittedLocker(EnvironmentImpl env,
Locker buddy)
throws DatabaseException
buddy - is a transactional locker that will be used for acquiring
write locks.| Method Detail |
public Locker newNonTxnLocker()
throws DatabaseException
newNonTxnLocker in class BuddyLockerDatabaseException
public LockResult lock(long nodeId,
LockType lockType,
DatabaseImpl database)
throws DatabaseException
lock in class BasicLockerDatabaseException
public void releaseLock(long nodeId)
throws DatabaseException
releaseLock in class LockerDatabaseException
public boolean createdNode(long nodeId)
throws DatabaseException
createdNode in class BasicLockerDatabaseException
public long getAbortLsn(long nodeId)
throws DatabaseException
getAbortLsn in class BasicLockerDatabaseException
public boolean getAbortKnownDeleted(long nodeId)
throws DatabaseException
getAbortKnownDeleted in class BasicLockerDatabaseException
public void addDeleteInfo(BIN bin,
Key deletedKey)
throws DatabaseException
addDeleteInfo in class LockerDatabaseException
public void registerCursor(CursorImpl cursor)
throws DatabaseException
registerCursor in class BasicLockerDatabaseException
public void unRegisterCursor(CursorImpl cursor)
throws DatabaseException
unRegisterCursor in class BasicLockerDatabaseExceptionpublic boolean isTransactional()
isTransactional in class BasicLockerpublic boolean isReadCommittedIsolation()
isReadCommittedIsolation in class BasicLocker
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||