Class NoLocking
java.lang.Object
org.apache.derby.impl.store.raw.xact.NoLocking
- All Implemented Interfaces:
LockingPolicy
- Direct Known Subclasses:
ContainerLocking2
,ContainerLocking3
,RowLocking3
A locking policy that implements no locking.
- See Also:
-
Field Summary
Fields inherited from interface org.apache.derby.iapi.store.raw.LockingPolicy
MODE_CONTAINER, MODE_NONE, MODE_RECORD
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionint
getMode()
Get the mode of this policyboolean
lockContainer
(Transaction t, ContainerHandle container, boolean waitForLock, boolean forUpdate) Called when a container is opened.boolean
lockRecordForRead
(Transaction t, ContainerHandle container, RecordHandle record, boolean waitForLock, boolean forUpdate) Called before a record is fetched.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.
-
Constructor Details
-
NoLocking
protected NoLocking()
-
-
Method Details
-
lockContainer
public boolean lockContainer(Transaction t, ContainerHandle container, boolean waitForLock, boolean forUpdate) throws StandardException Description copied from interface:LockingPolicy
Called when a container is opened.- Specified by:
lockContainer
in interfaceLockingPolicy
- 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
Description copied from interface:LockingPolicy
Called when a container is closed.- Specified by:
unlockContainer
in interfaceLockingPolicy
- See Also:
-
lockRecordForRead
public boolean lockRecordForRead(Transaction t, ContainerHandle container, RecordHandle record, boolean waitForLock, boolean forUpdate) throws StandardException Description copied from interface:LockingPolicy
Called before a record is fetched.- Specified by:
lockRecordForRead
in interfaceLockingPolicy
- Parameters:
t
- 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?- Throws:
StandardException
- Standard Derby error policy- See Also:
-
zeroDurationLockRecordForWrite
public boolean zeroDurationLockRecordForWrite(Transaction t, RecordHandle record, boolean lockForPreviousKey, boolean waitForLock) throws StandardException Description copied from interface:LockingPolicy
Request a write lock which will be released immediately upon grant.- Specified by:
zeroDurationLockRecordForWrite
in interfaceLockingPolicy
- Parameters:
t
- 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?- Returns:
- true if the lock was obtained, false if it wasn't. False should only be returned if the waitForLock argument was set to "false," and the lock was unavailable.
- Throws:
StandardException
- Standard Derby error policy- See Also:
-
lockRecordForWrite
public boolean lockRecordForWrite(Transaction t, RecordHandle record, boolean lockForInsert, boolean waitForLock) throws StandardException Description copied from interface:LockingPolicy
Called before a record is inserted, updated or deleted. If zeroDuration is true then lock is released immediately after it has been granted.- Specified by:
lockRecordForWrite
in interfaceLockingPolicy
- Parameters:
t
- Transaction to associate lock with.record
- Record to lock.lockForInsert
- Lock is for an insert.waitForLock
- Should lock request wait until granted?- Returns:
- true if the lock was obtained, false if it wasn't. False should only be returned if the waitForLock argument was set to "false," and the lock was unavailable.
- Throws:
StandardException
- Standard Derby error policy- See Also:
-
unlockRecordAfterRead
public void unlockRecordAfterRead(Transaction t, ContainerHandle container, RecordHandle record, boolean forUpdate, boolean row_qualified) throws StandardException Description copied from interface:LockingPolicy
Called after a record has been fetched.- Specified by:
unlockRecordAfterRead
in interfaceLockingPolicy
- Throws:
StandardException
- Standard Derby error policy- See Also:
-
getMode
public int getMode()Description copied from interface:LockingPolicy
Get the mode of this policy- Specified by:
getMode
in interfaceLockingPolicy
-