MediaWiki  1.28.0
LBFactorySingle Class Reference

An LBFactory class that always returns a single database object. More...

Inheritance diagram for LBFactorySingle:
Collaboration diagram for LBFactorySingle:

Public Member Functions

 __construct (array $conf)
 
 forEachLB ($callback, array $params=[])
 
 getExternalLB ($cluster)
 
 getMainLB ($domain=false)
 
 newExternalLB ($cluster)
 
 newMainLB ($domain=false)
 
- Public Member Functions inherited from LBFactory
 __construct (array $conf)
 Construct a manager of ILoadBalancer objects. More...
 
 __destruct ()
 
 appendPreShutdownTimeAsQuery ($url, $time)
 Append ?cpPosTime parameter to a URL for ChronologyProtector purposes if needed. More...
 
 beginMasterChanges ($fname=__METHOD__)
 Flush any master transaction snapshots and set DBO_TRX (if DBO_DEFAULT is set) More...
 
 closeAll ()
 Close all open database connections on all open load balancers. More...
 
 commitAll ($fname=__METHOD__, array $options=[])
 Commit open transactions on all connections. More...
 
 commitAndWaitForReplication ($fname, $ticket, array $opts=[])
 Convenience method for safely running commitMasterChanges()/waitForReplication() More...
 
 commitMasterChanges ($fname=__METHOD__, array $options=[])
 Commit changes on all master connections. More...
 
 destroy ()
 Disables all load balancers. More...
 
 disableChronologyProtection ()
 Disable the ChronologyProtector for all load balancers. More...
 
 flushReplicaSnapshots ($fname=__METHOD__)
 Commit all replica DB transactions so as to flush any REPEATABLE-READ or SSI snapshot. More...
 
 getChronologyProtectorTouched ($dbName)
 
 getEmptyTransactionTicket ($fname)
 Get a token asserting that no transaction writes are active. More...
 
 getExternalLB ($cluster)
 
 getMainLB ($domain=false)
 
 hasMasterChanges ()
 Determine if any master connection has pending changes. More...
 
 hasOrMadeRecentMasterChanges ($age=null)
 Determine if any master connection has pending/written changes from this request. More...
 
 laggedReplicaUsed ()
 Detemine if any lagged replica DB connection was used. More...
 
 newExternalLB ($cluster)
 
 newMainLB ($domain=false)
 
 rollbackMasterChanges ($fname=__METHOD__)
 Rollback changes on all master connections. More...
 
 setAgentName ($agent)
 
 setDomainPrefix ($prefix)
 Set a new table prefix for the existing local domain ID for testing. More...
 
 setRequestInfo (array $info)
 
 setWaitForReplicationListener ($name, callable $callback=null)
 Add a callback to be run in every call to waitForReplication() before waiting. More...
 
 shutdown ($mode=self::SHUTDOWN_CHRONPROT_SYNC, callable $workCallback=null)
 Prepare all tracked load balancers for shutdown. More...
 
 waitForReplication (array $opts=[])
 Waits for the replica DBs to catch up to the current master position. More...
 

Static Public Member Functions

static newFromConnection (IDatabase $db, array $params=[])
 

Private Attributes

LoadBalancerSingle $lb
 

Additional Inherited Members

- Public Attributes inherited from ILBFactory
const SHUTDOWN_CHRONPROT_ASYNC = 1
 
const SHUTDOWN_CHRONPROT_SYNC = 2
 
const SHUTDOWN_NO_CHRONPROT = 0
 
- Protected Member Functions inherited from LBFactory
 baseLoadBalancerParams ()
 Base parameters to LoadBalancer::__construct() More...
 
 forEachLBCallMethod ($methodName, array $args=[])
 Call a method of each tracked load balancer. More...
 
 getChronologyProtector ()
 
 getScopedPHPBehaviorForCommit ()
 Make PHP ignore user aborts/disconnects until the returned value leaves scope. More...
 
 initLoadBalancer (ILoadBalancer $lb)
 
 shutdownChronologyProtector (ChronologyProtector $cp, $workCallback, $mode)
 Get and record all of the staged DB positions into persistent memory storage. More...
 
- Protected Attributes inherited from LBFactory
string $agent
 Agent name for query profiling. More...
 
ChronologyProtector $chronProt
 
bool $cliMode
 Whether this PHP instance is for a CLI script. More...
 
LoggerInterface $connLogger
 
callable $errorLogger
 Error logger. More...
 
string $hostname
 Local hostname of the app server. More...
 
DatabaseDomain $localDomain
 Local domain. More...
 
BagOStuff $memCache
 
LoggerInterface $perfLogger
 
object string $profiler
 Class name or object With profileIn/profileOut methods. More...
 
LoggerInterface $queryLogger
 
string bool $readOnlyReason = false
 Reason all LBs are read-only or false if not. More...
 
callable[] $replicationWaitCallbacks = []
 
LoggerInterface $replLogger
 
array $requestInfo
 Web request information about the client. More...
 
BagOStuff $srvCache
 
mixed $ticket
 
TransactionProfiler $trxProfiler
 
string bool $trxRoundId = false
 String if a requested DBO_TRX transaction round is active. More...
 
WANObjectCache $wanCache
 

Detailed Description

An LBFactory class that always returns a single database object.

Definition at line 27 of file LBFactorySingle.php.

Constructor & Destructor Documentation

LBFactorySingle::__construct ( array  $conf)
Parameters
array$confAn associative array with one member:
  • connection: The IDatabase connection object

Implements ILBFactory.

Definition at line 35 of file LBFactorySingle.php.

References $lb, LBFactory\baseLoadBalancerParams(), and LBFactory\initLoadBalancer().

Member Function Documentation

LBFactorySingle::forEachLB (   $callback,
array  $params = [] 
)
Parameters
string | callable$callback
array$params

Implements ILBFactory.

Definition at line 93 of file LBFactorySingle.php.

References $params.

LBFactorySingle::getExternalLB (   $cluster)
Parameters
string$clusterExternal storage cluster name (unused)
Returns
LoadBalancerSingle

Implements ILBFactory.

Definition at line 85 of file LBFactorySingle.php.

References $lb.

LBFactorySingle::getMainLB (   $domain = false)
Parameters
bool | string$domain(unused)
Returns
LoadBalancerSingle

Implements ILBFactory.

Definition at line 69 of file LBFactorySingle.php.

References $lb.

LBFactorySingle::newExternalLB (   $cluster)
Parameters
string$clusterExternal storage cluster name (unused)
Returns
LoadBalancerSingle

Implements ILBFactory.

Definition at line 77 of file LBFactorySingle.php.

References $lb.

static LBFactorySingle::newFromConnection ( IDatabase  $db,
array  $params = [] 
)
static
Parameters
IDatabase$dbLive connection handle
array$paramsParameter map to LBFactorySingle::__constructs()
Returns
LBFactorySingle
Since
1.28

Definition at line 53 of file LBFactorySingle.php.

References $params.

Referenced by DatabaseInstaller\enableLB().

LBFactorySingle::newMainLB (   $domain = false)
Parameters
bool | string$domain(unused)
Returns
LoadBalancerSingle

Implements ILBFactory.

Definition at line 61 of file LBFactorySingle.php.

References $lb.

Member Data Documentation

LoadBalancerSingle LBFactorySingle::$lb
private

Definition at line 29 of file LBFactorySingle.php.

Referenced by __construct(), getExternalLB(), getMainLB(), newExternalLB(), and newMainLB().


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