Class NoLocking

java.lang.Object
org.apache.derby.impl.store.raw.xact.NoLocking
All Implemented Interfaces:
LockingPolicy
Direct Known Subclasses:
ContainerLocking2, ContainerLocking3, RowLocking3

class NoLocking extends Object implements LockingPolicy
A locking policy that implements no locking.
See Also:
  • 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 interface LockingPolicy
      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

      public void unlockContainer(Transaction t, ContainerHandle container)
      Description copied from interface: LockingPolicy
      Called when a container is closed.
      Specified by:
      unlockContainer in interface LockingPolicy
      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 interface LockingPolicy
      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 interface LockingPolicy
      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 interface LockingPolicy
      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 interface LockingPolicy
      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 interface LockingPolicy