public class ShExLockable extends java.lang.Object implements Lockable
| Constructor and Description |
|---|
ShExLockable() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
lockAttributes(int flag,
java.util.Hashtable attributes)
This lockable want to participate in the Virtual LockTable
when we want to print LATCH information.
|
boolean |
lockerAlwaysCompatible()
Returns true if any lock request on a Lockable L in a compatibility space CS1 is compatible
with any other lock held on L in CS1.
|
void |
lockEvent(Latch lockInfo)
Note the fact the object is locked.
|
boolean |
requestCompatible(java.lang.Object requestedQualifier,
java.lang.Object grantedQualifier)
Return true if the requested qualifier is compatible with the already granted
qualifier.
|
void |
unlockEvent(Latch lockInfo)
Note that the object has been unlocked
Must only be called by the lock manager.
|
public boolean lockerAlwaysCompatible()
LockablelockerAlwaysCompatible in interface LockableLockable.lockerAlwaysCompatible()public boolean requestCompatible(java.lang.Object requestedQualifier,
java.lang.Object grantedQualifier)
LockablerequestCompatible in interface LockableLockable.requestCompatible(java.lang.Object, java.lang.Object)public void lockEvent(Latch lockInfo)
LockableIf the class supports multiple lockers of the object then this method will be called once per locker, each with their own qualifier.
Must only be called by the lock manager. Synchronization will be handled by the lock manager.
lockEvent in interface LockableLockable.lockEvent(org.apache.derby.iapi.services.locks.Latch)public void unlockEvent(Latch lockInfo)
LockableMust only be called by the lock manager. Synchronization will be handled by the lock manager.
unlockEvent in interface LockableLockable.unlockEvent(org.apache.derby.iapi.services.locks.Latch)public boolean lockAttributes(int flag,
java.util.Hashtable attributes)
lockAttributes in interface Lockableflag - use the bits in this int to decide if the user is
interested in this kind of lockable object. The bits are defined in
VirtualLockTable. For instance, the user may only ask
for TABLE_AND_ROWLOCK and if this is not a table or row lock, then
don't participate.attributes - if this decides to participate, put all relevant
attributes into the Hashtable. The complete list of interesting
attributes is listed in VirtualLockTable.
The following attributes must be present for all participating
lockables:
VirtualLockTable.LOCKNAME,
VirtualLockTable.LOCKTYPE,
either VirtualLockTable.CONTAINERID or VirtualLockTable.CONGLOMID,
MT - this routine must be MP safe, caller will not be single threading the lock manager.
VirtualLockTableApache Derby V10.10 Internals - Copyright © 2004,2014 The Apache Software Foundation. All Rights Reserved.