Class RowLockingRR
- All Implemented Interfaces:
LockingPolicy
- Direct Known Subclasses:
RowLocking2
- See Also:
-
Field Summary
Fields inherited from class org.apache.derby.impl.store.raw.xact.RowLocking3
lf
Fields inherited from interface org.apache.derby.iapi.store.raw.LockingPolicy
MODE_CONTAINER, MODE_NONE, MODE_RECORD
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected RowLock
Get type of lock to get while reading data.protected RowLock
Get type of lock to get while requesting "update" lock.protected RowLock
Get type of lock to get while writing data.void
unlockRecordAfterRead
(Transaction t, ContainerHandle container_handle, RecordHandle record, boolean forUpdate, boolean row_qualified) Unlock a record after it has been locked for read.Methods inherited from class org.apache.derby.impl.store.raw.xact.RowLocking3
getMode, lockContainer, lockRecordForRead, lockRecordForWrite, zeroDurationLockRecordForWrite
Methods inherited from class org.apache.derby.impl.store.raw.xact.NoLocking
unlockContainer
-
Constructor Details
-
RowLockingRR
-
-
Method Details
-
getReadLockType
Description copied from class:RowLocking3
Get type of lock to get while reading data.This routine is provided so that class's like RowLockingRR can override just this routine to get RS2 locks vs RS3 locks, and still reuse all the other code in this class.
- Overrides:
getReadLockType
in classRowLocking3
- Returns:
- The lock type of a shared lock for this locking policy.
-
getUpdateLockType
Description copied from class:RowLocking3
Get type of lock to get while requesting "update" lock.This routine is provided so that class's like RowLockingRR can override just this routine to get RU2 locks vs RU3 locks, and still reuse all the other code in this class.
- Overrides:
getUpdateLockType
in classRowLocking3
- Returns:
- The lock type of a shared lock for this locking policy.
-
getWriteLockType
Description copied from class:RowLocking3
Get type of lock to get while writing data.This routine is provided so that class's like RowLockingRR can override just this routine to get RX2 locks vs RX3 locks, and still reuse all the other code in this class.
- Overrides:
getWriteLockType
in classRowLocking3
- Returns:
- The lock type of a shared lock for this locking policy.
-
unlockRecordAfterRead
public void unlockRecordAfterRead(Transaction t, ContainerHandle container_handle, RecordHandle record, boolean forUpdate, boolean row_qualified) throws StandardException Unlock a record after it has been locked for read.In repeatable read only unlock records which "did not qualify". For example in a query like "select * from foo where a = 1" on a table with no index it is only necessary to hold locks on rows where a=1, but in the process of finding those rows the system will get locks on other rows to verify they are committed before applying the qualifier. Those locks can be released under repeatable read isolation.
- Specified by:
unlockRecordAfterRead
in interfaceLockingPolicy
- Overrides:
unlockRecordAfterRead
in classNoLocking
- Throws:
StandardException
- Standard exception policy.- See Also:
-