BlueSpice MediaWiki REL1_27
 All Classes Namespaces Files Functions Variables Groups Pages
MySqlLockManager Class Reference
Inheritance diagram for MySqlLockManager:
Collaboration diagram for MySqlLockManager:

Protected Member Functions

 initConnection ($lockDb, IDatabase $db)
 
 doGetLocksOnServer ($lockSrv, array $paths, $type)
 
 releaseAllLocks ()
 
- Protected Member Functions inherited from DBLockManager
 getLocksOnServer ($lockSrv, array $pathsByType)
 
 freeLocksOnServer ($lockSrv, array $pathsByType)
 
 isServerUp ($lockSrv)
 
 getConnection ($lockDb)
 
 initConnection ($lockDb, IDatabase $db)
 
 cacheCheckFailures ($lockDb)
 
 cacheRecordFailure ($lockDb)
 
 getMissKey ($lockDb)
 
- Protected Member Functions inherited from QuorumLockManager
 doLock (array $paths, $type)
 
 doUnlock (array $paths, $type)
 
 doLockByType (array $pathsByType)
 
 doUnlockByType (array $pathsByType)
 
 doLockingRequestBucket ($bucket, array $pathsByType)
 
 doUnlockingRequestBucket ($bucket, array $pathsByType)
 
 getBucketFromPath ($path)
 
 isServerUp ($lockSrv)
 
 getLocksOnServer ($lockSrv, array $pathsByType)
 
 freeLocksOnServer ($lockSrv, array $pathsByType)
 
 releaseAllLocks ()
 
- Protected Member Functions inherited from LockManager
 sha1Base36Absolute ($path)
 
 sha1Base16Absolute ($path)
 
 normalizePathsByType (array $pathsByType)
 
 doLockByType (array $pathsByType)
 
 doLock (array $paths, $type)
 
 doUnlockByType (array $pathsByType)
 
 doUnlock (array $paths, $type)
 

Protected Attributes

 $lockTypeMap
 
- Protected Attributes inherited from DBLockManager
 $dbServers
 
 $statusCache
 
 $lockExpiry
 
 $safeDelay
 
 $session = 0
 
 $conns = []
 
- Protected Attributes inherited from QuorumLockManager
 $srvsByBucket = []
 
 $degradedBuckets = []
 
- Protected Attributes inherited from LockManager
 $lockTypeMap
 
 $locksHeld = []
 
 $domain
 
 $lockTTL
 

Additional Inherited Members

- Public Member Functions inherited from DBLockManager
 __construct (array $config)
 
 __destruct ()
 
- Public Member Functions inherited from LockManager
 __construct (array $config)
 
 lock (array $paths, $type=self::LOCK_EX, $timeout=0)
 
 lockByType (array $pathsByType, $timeout=0)
 
 unlock (array $paths, $type=self::LOCK_EX)
 
 unlockByType (array $pathsByType)
 
- Public Attributes inherited from LockManager
const LOCK_SH = 1
 
const LOCK_UW = 2
 
const LOCK_EX = 3
 

Detailed Description

MySQL version of DBLockManager that supports shared locks. All locks are non-blocking, which avoids deadlocks.

Member Function Documentation

MySqlLockManager::doGetLocksOnServer (   $lockSrv,
array  $paths,
  $type 
)
protected

Get a connection to a lock DB and acquire locks on $paths. This does not use GET_LOCK() per http://bugs.mysql.com/bug.php?id=1118.

See Also
DBLockManager::getLocksOnServer()
Parameters
string$lockSrv
array$paths
string$type
Returns
Status
MySqlLockManager::initConnection (   $lockDb,
IDatabase  $db 
)
protected
Parameters
string$lockDb
IDatabase$db
MySqlLockManager::releaseAllLocks ( )
protected

Member Data Documentation

MySqlLockManager::$lockTypeMap
protected
Initial value:
= [
self::LOCK_SH => self::LOCK_SH

The documentation for this class was generated from the following file: