Class ContainerLocking2
java.lang.Object
org.apache.derby.impl.store.raw.xact.NoLocking
org.apache.derby.impl.store.raw.xact.ContainerLocking2
- All Implemented Interfaces:
LockingPolicy
A locking policy that implements container level locking with
isolation degree 2.
- See Also:
-
Field Summary
FieldsFields inherited from interface org.apache.derby.iapi.store.raw.LockingPolicy
MODE_CONTAINER, MODE_NONE, MODE_RECORD
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
protected
-
Method Summary
Modifier and TypeMethodDescriptionint
getMode()
Get the mode of this policyboolean
lockContainer
(Transaction t, ContainerHandle container, boolean waitForLock, boolean forUpdate) Obtain a Container shared or exclusive lock until the end of the nested transaction.void
unlockContainer
(Transaction t, ContainerHandle container) Unlock read locks.Methods inherited from class org.apache.derby.impl.store.raw.xact.NoLocking
lockRecordForRead, lockRecordForWrite, unlockRecordAfterRead, zeroDurationLockRecordForWrite
-
Field Details
-
lf
-
-
Constructor Details
-
ContainerLocking2
protected ContainerLocking2() -
ContainerLocking2
-
-
Method Details
-
lockContainer
public boolean lockContainer(Transaction t, ContainerHandle container, boolean waitForLock, boolean forUpdate) throws StandardException Obtain a Container shared or exclusive lock until the end of the nested transaction.- Specified by:
lockContainer
in interfaceLockingPolicy
- Overrides:
lockContainer
in classNoLocking
- Parameters:
t
- Transaction to associate lock with.container
- Container to lock.waitForLock
- Should lock request wait until granted?forUpdate
- Should container be locked for update, or read?- Returns:
- true if the lock was obtained, false if it wasn't. False should only be returned if the waitForLock policy was set to "false," and the lock was unavailable.
- Throws:
StandardException
- Standard Derby error policy- See Also:
-
unlockContainer
Unlock read locks.In Cursor stability release all read locks obtained. unlockContainer() will be called when the container is closed.
- Specified by:
unlockContainer
in interfaceLockingPolicy
- Overrides:
unlockContainer
in classNoLocking
- Parameters:
t
- The transaction to associate the lock with.container
- Container to unlock.- See Also:
-
getMode
public int getMode()Description copied from interface:LockingPolicy
Get the mode of this policy- Specified by:
getMode
in interfaceLockingPolicy
- Overrides:
getMode
in classNoLocking
-