![]() |
Quadcap Embeddable Database |
Definition at line 62 of file LockManager.java.
Public Member Functions | |
| LockManager () | |
| Constructor. | |
| final Transaction | getTransaction (long transId) |
| Allocate a new Transaction. | |
| Transaction | findTransaction (long transId) |
| Find an existing transaction. | |
| void | releaseTransaction (Transaction t) |
| End a transaction, releasing all of its locks. | |
| Iterator | transactions () |
| Return an iterator over all active transactions. | |
| final Lock | getLock (Transaction t, Lock parent, String name, int mode) throws SQLException |
| Instantiate the specified lock on behalf of transaction 't', which may or may not already have this lock. | |
| String | toString () |
Static Protected Attributes | |
| final ConfigNumber | trace = ConfigNumber.find("qed.trace.locks", "0") |
| final ConfigNumber | lockTimeout = ConfigNumber.find("qed.lock.Timeout", "60") |
Package Functions | |
| final Iterator | locksForTransaction (Transaction t) |
| Return an Iterator over the held locks positioned at the first lock owned by transaction 't'. | |
| final HeldLock | getLockForTransaction (Transaction t, Lock lock) |
| We're in the critical section still. | |
| final void | checkParentsLockMode (Transaction t, Lock lock, int mode) |
Ensure that the lock's parent(s) are properly locked, to enable locking lock in the specified mode. | |
| final boolean | couldLockWithParentMode (int pmode, int mode) |
| void | promoteLock (HeldLock h, int mode) |
| void | acquireLock (HeldLock h) |
Package Attributes | |
| final Object | locksLock = new Object() |
| LockPool | locks = new LockPool() |
| Pool of lock objects. | |
| HeldLockPool | held = new HeldLockPool() |
| Pool of 'held' locks. | |
| HeldLock | tmpHeld = null |
| Temp held lock object used for searching. | |
| TransactionPool | transactions = new TransactionPool() |
| Pool of transaction objects. | |
| SortedArray | byTrans |
| held locks sorted by transaction | |
| SortedArrayIterator | byTransIter |
Private Attributes | |
| long | transCount = 1 |
|
|
|
||||||||||||||||
|
Ensure that the lock's parent(s) are properly locked, to enable locking
Definition at line 420 of file LockManager.java. References com.quadcap.sql.lock.LockManager.byTrans, com.quadcap.sql.lock.LockManager.checkParentsLockMode(), com.quadcap.sql.lock.LockManager.couldLockWithParentMode(), com.quadcap.sql.lock.Lock.getParent(), and com.quadcap.sql.lock.HeldLock.mode. Referenced by com.quadcap.sql.lock.LockManager.checkParentsLockMode(), and com.quadcap.sql.lock.LockManager.getLock(). |
|
||||||||||||
|
Definition at line 442 of file LockManager.java. References com.quadcap.sql.lock.LockManager.couldLockWithParentMode(). Referenced by com.quadcap.sql.lock.LockManager.checkParentsLockMode(), and com.quadcap.sql.lock.LockManager.couldLockWithParentMode(). |
|
|
Find an existing transaction. Return null if the specified transaction doesn't exist. Definition at line 170 of file LockManager.java. References com.quadcap.sql.lock.TransactionPool.find(), com.quadcap.sql.lock.LockManager.findTransaction(), and com.quadcap.sql.lock.LockManager.transactions. Referenced by com.quadcap.sql.lock.LockManager.findTransaction(). |
|
||||||||||||||||||||
|
Instantiate the specified lock on behalf of transaction 't', which may or may not already have this lock.
Definition at line 295 of file LockManager.java.
Referenced by com.quadcap.sql.lock.LockManager.getLock(). |
|
||||||||||||
|
|
Allocate a new Transaction. All lock operations are performed on behalf of a Transaction. Definition at line 151 of file LockManager.java. References com.quadcap.sql.lock.TransactionPool.get(), com.quadcap.sql.lock.LockManager.getTransaction(), com.quadcap.sql.lock.LockManager.locksLock, com.quadcap.sql.lock.LockManager.trace, and com.quadcap.sql.lock.LockManager.transactions. Referenced by com.quadcap.sql.lock.LockManager.getTransaction(). |
|
|
Return an Iterator over the held locks positioned at the first lock owned by transaction 't'.
Definition at line 266 of file LockManager.java. References com.quadcap.sql.lock.LockManager.byTransIter, com.quadcap.sql.lock.HeldLock.lock, com.quadcap.sql.lock.LockManager.locksForTransaction(), com.quadcap.sql.lock.SortedArrayIterator.position(), com.quadcap.sql.lock.LockManager.tmpHeld, and com.quadcap.sql.lock.HeldLock.trans. Referenced by com.quadcap.sql.lock.LockManager.locksForTransaction(), and com.quadcap.sql.lock.LockManager.releaseTransaction(). |
|
||||||||||||
|
Definition at line 459 of file LockManager.java. References com.quadcap.sql.lock.Lock.decrHeldCount(), com.quadcap.sql.lock.Lock.incrHeldCount(), com.quadcap.sql.lock.HeldLock.lock, com.quadcap.sql.lock.HeldLock.mode, and com.quadcap.sql.lock.LockManager.promoteLock(). Referenced by com.quadcap.sql.lock.LockManager.getLock(), and com.quadcap.sql.lock.LockManager.promoteLock(). |
|
|
End a transaction, releasing all of its locks.
Definition at line 177 of file LockManager.java.
Referenced by com.quadcap.sql.lock.LockManager.releaseTransaction(). |
|
|
Definition at line 471 of file LockManager.java. References com.quadcap.sql.lock.LockManager.byTrans, com.quadcap.sql.lock.LockManager.locks, and com.quadcap.sql.lock.LockManager.locksLock. Referenced by com.quadcap.sql.lock.LockManager.LockManager(). |
|
|
Return an iterator over all active transactions.
Definition at line 258 of file LockManager.java. |
|
|
We're in the critical section still.
Definition at line 405 of file LockManager.java. References com.quadcap.sql.lock.Transaction.getSync(), com.quadcap.sql.lock.Transaction.setWait(), and com.quadcap.sql.lock.LockManager.waitForLock(). Referenced by com.quadcap.sql.lock.LockManager.getLock(), and com.quadcap.sql.lock.LockManager.waitForLock(). |
|
|
held locks sorted by transaction
Definition at line 103 of file LockManager.java. Referenced by com.quadcap.sql.lock.LockManager.acquireLock(), com.quadcap.sql.lock.LockManager.checkParentsLockMode(), com.quadcap.sql.lock.LockManager.getLock(), com.quadcap.sql.lock.LockManager.LockManager(), and com.quadcap.sql.lock.LockManager.toString(). |
|
|
Definition at line 104 of file LockManager.java. Referenced by com.quadcap.sql.lock.LockManager.getLockForTransaction(), com.quadcap.sql.lock.LockManager.LockManager(), and com.quadcap.sql.lock.LockManager.locksForTransaction(). |
|
|
Pool of 'held' locks.
Definition at line 94 of file LockManager.java. Referenced by com.quadcap.sql.lock.LockManager.getLock(), com.quadcap.sql.lock.LockManager.LockManager(), and com.quadcap.sql.lock.LockManager.releaseTransaction(). |
|
|
Pool of lock objects.
Definition at line 91 of file LockManager.java. Referenced by com.quadcap.sql.lock.LockManager.getLock(), and com.quadcap.sql.lock.LockManager.toString(). |
|
|
|
Definition at line 84 of file LockManager.java. Referenced by com.quadcap.sql.lock.LockManager.getLock(). |
|
|
Temp held lock object used for searching.
Definition at line 97 of file LockManager.java. Referenced by com.quadcap.sql.lock.LockManager.getLockForTransaction(), com.quadcap.sql.lock.LockManager.LockManager(), and com.quadcap.sql.lock.LockManager.locksForTransaction(). |
|
|
Definition at line 80 of file LockManager.java. Referenced by com.quadcap.sql.lock.LockManager.getLock(), com.quadcap.sql.lock.LockManager.getTransaction(), com.quadcap.sql.lock.LockManager.LockManager(), and com.quadcap.sql.lock.LockManager.releaseTransaction(). |
|
|
Pool of transaction objects.
Definition at line 100 of file LockManager.java. Referenced by com.quadcap.sql.lock.LockManager.findTransaction(), com.quadcap.sql.lock.LockManager.getTransaction(), and com.quadcap.sql.lock.LockManager.releaseTransaction(). |
|
|
Definition at line 86 of file LockManager.java. |