|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.derby.impl.store.raw.xact.NoLocking
org.apache.derby.impl.store.raw.xact.ContainerLocking3
A locking policy that implements container level locking with isolation degree 3.
LockingPolicy| Field Summary | |
protected LockFactory |
lf
|
| Fields inherited from interface org.apache.derby.iapi.store.raw.LockingPolicy |
MODE_CONTAINER, MODE_NONE, MODE_RECORD |
| Constructor Summary | |
protected |
ContainerLocking3(LockFactory lf)
|
| Method Summary | |
int |
getMode()
Get the mode of this policy |
boolean |
lockContainer(Transaction t,
ContainerHandle container,
boolean waitForLock,
boolean forUpdate)
Obtain a Container shared or exclusive lock until the end of the nested transaction. |
void |
lockRecordForRead(Latch latch,
RecordHandle record,
boolean forUpdate)
Lock a record while holding a page latch. |
boolean |
lockRecordForRead(Transaction t,
ContainerHandle container,
RecordHandle record,
boolean waitForLock,
boolean forUpdate)
Called before a record is fetched. |
void |
lockRecordForWrite(Latch latch,
RecordHandle record)
Lock a record for write while holding a page latch. |
boolean |
lockRecordForWrite(Transaction t,
RecordHandle record,
boolean lockForInsert,
boolean waitForLock)
Called before a record is inserted, updated or deleted. |
void |
unlockContainer(Transaction t,
ContainerHandle container)
Called when a container is closed. |
void |
unlockRecordAfterRead(Transaction t,
ContainerHandle container,
RecordHandle record,
boolean forUpdate,
boolean row_qualified)
Called after a record has been fetched. |
boolean |
zeroDurationLockRecordForWrite(Transaction t,
RecordHandle record,
boolean lockForPreviousKey,
boolean waitForLock)
Request a write lock which will be released immediately upon grant. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
protected final LockFactory lf
| Constructor Detail |
protected ContainerLocking3(LockFactory lf)
| Method Detail |
public boolean lockContainer(Transaction t,
ContainerHandle container,
boolean waitForLock,
boolean forUpdate)
throws StandardException
lockContainer in interface LockingPolicylockContainer in class NoLockingStandardException - Standard Cloudscape error policypublic int getMode()
LockingPolicy
getMode in interface LockingPolicygetMode in class NoLocking
public void unlockContainer(Transaction t,
ContainerHandle container)
LockingPolicy
unlockContainer in interface LockingPolicyContainerHandle,
ContainerHandle.close()
public boolean lockRecordForRead(Transaction t,
ContainerHandle container,
RecordHandle record,
boolean waitForLock,
boolean forUpdate)
throws StandardException
LockingPolicy
lockRecordForRead in interface LockingPolicyt - Transaction to associate lock with.container - Open Container used to get record. Will be used
to row locks by the container they belong to.record - Record to lock.waitForLock - Should lock request wait until granted?forUpdate - Should container be locked for update, or read?
StandardException - Standard Cloudscape error policyPage
public void lockRecordForRead(Latch latch,
RecordHandle record,
boolean forUpdate)
throws StandardException
LockingPolicy
lockRecordForRead in interface LockingPolicylatch - Latch held.record - Record to lock.forUpdate - Should container be locked for update, or read?
StandardException - Standard Cloudscape error policyPage
public boolean zeroDurationLockRecordForWrite(Transaction t,
RecordHandle record,
boolean lockForPreviousKey,
boolean waitForLock)
throws StandardException
LockingPolicy
zeroDurationLockRecordForWrite in interface LockingPolicyt - Transaction to associate lock with.record - Record to lock.lockForPreviousKey - Lock is for a previous key of a insert.waitForLock - Should lock request wait until granted?
StandardException - Standard Cloudscape error policyPage
public boolean lockRecordForWrite(Transaction t,
RecordHandle record,
boolean lockForInsert,
boolean waitForLock)
throws StandardException
LockingPolicy
lockRecordForWrite in interface LockingPolicyt - Transaction to associate lock with.record - Record to lock.lockForInsert - Lock is for an insert.waitForLock - Should lock request wait until granted?
StandardException - Standard Cloudscape error policyPage
public void lockRecordForWrite(Latch latch,
RecordHandle record)
throws StandardException
LockingPolicy
lockRecordForWrite in interface LockingPolicylatch - Page latch held.record - Record to lock.
StandardException - Standard Cloudscape error policyPage
public void unlockRecordAfterRead(Transaction t,
ContainerHandle container,
RecordHandle record,
boolean forUpdate,
boolean row_qualified)
throws StandardException
LockingPolicy
unlockRecordAfterRead in interface LockingPolicyStandardException - Standard Cloudscape error policyPage
|
Built on Tue 2006-10-10 19:23:47+0200, from revision exported | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||