MediaWiki  1.30.0
Wikimedia\Rdbms\LBFactorySingle Class Reference

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

Inheritance diagram for Wikimedia\Rdbms\LBFactorySingle:
Collaboration diagram for Wikimedia\Rdbms\LBFactorySingle:

Public Member Functions

 __construct (array $conf)
 
 forEachLB ( $callback, array $params=[])
 
 getAllExternalLBs ()
 
 getAllMainLBs ()
 
 getExternalLB ( $cluster)
 
 getMainLB ( $domain=false)
 
 newExternalLB ( $cluster)
 
 newMainLB ( $domain=false)
 
- Public Member Functions inherited from Wikimedia\Rdbms\LBFactory
 __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...
 
 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...
 
 hasTransactionRound ()
 Check if a transaction round is active. More...
 
 laggedReplicaUsed ()
 Detemine if any lagged replica DB connection was used. More...
 
 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 Wikimedia\Rdbms\ILBFactory
const SHUTDOWN_CHRONPROT_ASYNC = 1
 
const SHUTDOWN_CHRONPROT_SYNC = 2
 
const SHUTDOWN_NO_CHRONPROT = 0
 
- Protected Member Functions inherited from Wikimedia\Rdbms\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 Wikimedia\Rdbms\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 $memStash
 
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 32 of file LBFactorySingle.php.

Constructor & Destructor Documentation

◆ __construct()

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

Reimplemented from Wikimedia\Rdbms\LBFactory.

Definition at line 40 of file LBFactorySingle.php.

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

Member Function Documentation

◆ forEachLB()

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

Implements Wikimedia\Rdbms\ILBFactory.

Definition at line 104 of file LBFactorySingle.php.

References $params.

◆ getAllExternalLBs()

Wikimedia\Rdbms\LBFactorySingle::getAllExternalLBs ( )
Returns
LoadBalancerSingle[] Map of (cluster name => LoadBalancer)

Implements Wikimedia\Rdbms\ILBFactory.

Definition at line 96 of file LBFactorySingle.php.

◆ getAllMainLBs()

Wikimedia\Rdbms\LBFactorySingle::getAllMainLBs ( )
Returns
LoadBalancerSingle[] Map of (cluster name => LoadBalancer)

Implements Wikimedia\Rdbms\ILBFactory.

Definition at line 89 of file LBFactorySingle.php.

References Wikimedia\Rdbms\LBFactorySingle\$lb.

◆ getExternalLB()

Wikimedia\Rdbms\LBFactorySingle::getExternalLB (   $cluster)
See also
ILBFactory::getExternalLB()
Parameters
string$cluster
Returns
LoadBalancer

Reimplemented from Wikimedia\Rdbms\LBFactory.

Definition at line 82 of file LBFactorySingle.php.

◆ getMainLB()

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

Reimplemented from Wikimedia\Rdbms\LBFactory.

Definition at line 74 of file LBFactorySingle.php.

References Wikimedia\Rdbms\LBFactorySingle\$lb.

◆ newExternalLB()

Wikimedia\Rdbms\LBFactorySingle::newExternalLB (   $cluster)
See also
ILBFactory::newExternalLB()
Parameters
string$cluster
Returns
LoadBalancer

Reimplemented from Wikimedia\Rdbms\LBFactory.

Definition at line 78 of file LBFactorySingle.php.

◆ newFromConnection()

static Wikimedia\Rdbms\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 58 of file LBFactorySingle.php.

References $params.

◆ newMainLB()

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

Reimplemented from Wikimedia\Rdbms\LBFactory.

Definition at line 66 of file LBFactorySingle.php.

References Wikimedia\Rdbms\LBFactorySingle\$lb.

Member Data Documentation

◆ $lb


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