MediaWiki  1.33.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 ()
 
 appendShutdownCPIndexAsQuery ( $url, $index)
 Append ?cpPosIndex 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 and clear view snapshots 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...
 
 getLocalDomainID ()
 Get the local (and default) database domain ID of connection handles. 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 an explicit transaction round is active. More...
 
 isReadyForRoundOperations ()
 Check if transaction rounds can be started, committed, or rolled back right now. More...
 
 laggedReplicaUsed ()
 Detemine if any lagged replica DB connection was used. More...
 
 redefineLocalDomain ( $domain)
 Close all connection and redefine the local domain for testing or schema creation. More...
 
 resolveDomainID ( $domain)
 
 rollbackMasterChanges ( $fname=__METHOD__)
 Rollback changes on all master connections. More...
 
 setAgentName ( $agent)
 
 setDomainPrefix ( $prefix)
 
 setIndexAliases (array $aliases)
 Convert certain index names to alternative names before querying the DB. More...
 
 setLocalDomainPrefix ( $prefix)
 Set a new table prefix for the existing local domain ID for testing. More...
 
 setRequestInfo (array $info)
 
 setTableAliases (array $aliases)
 Make certain table names use their own database, schema, and table prefix when passed into SQL queries pre-escaped and without a qualified database name. More...
 
 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, &$cpIndex=null, &$cpClientId=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=[])
 
- Static Public Member Functions inherited from Wikimedia\Rdbms\LBFactory
static getCPInfoFromCookieValue ( $value, $minTimestamp)
 
static makeCookieValueFromCPIndex ( $index, $time, $clientId)
 

Private Attributes

LoadBalancerSingle $lb
 

Additional Inherited Members

- Public Attributes inherited from Wikimedia\Rdbms\LBFactory
const ROUND_BEGINNING = 'within-begin'
 
const ROUND_COMMIT_CALLBACKS = 'within-commit-callbacks'
 
const ROUND_COMMITTING = 'within-commit'
 
const ROUND_CURSORY = 'cursory'
 
const ROUND_ROLLBACK_CALLBACKS = 'within-rollback-callbacks'
 
const ROUND_ROLLING_BACK = 'within-rollback'
 
- 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 ILoadBalancer::__construct() More...
 
 forEachLBCallMethod ( $methodName, array $args=[])
 Call a method of each tracked load balancer. More...
 
 getChronologyProtector ()
 
 initLoadBalancer (ILoadBalancer $lb)
 
 shutdownChronologyProtector (ChronologyProtector $cp, $workCallback, $mode, &$cpIndex=null)
 Get and record all of the staged DB positions into persistent memory storage. More...
 
- Protected Attributes inherited from Wikimedia\Rdbms\LBFactory
DatabaseDomain $localDomain
 Local domain. More...
 
int null $maxLag
 
BagOStuff $memStash
 
string bool $readOnlyReason = false
 Reason all LBs are read-only or false if not. More...
 
BagOStuff $srvCache
 
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 108 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 100 of file LBFactorySingle.php.

◆ getAllMainLBs()

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

Implements Wikimedia\Rdbms\ILBFactory.

Definition at line 93 of file LBFactorySingle.php.

References Wikimedia\Rdbms\LBFactorySingle\$lb.

◆ getExternalLB()

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

Reimplemented from Wikimedia\Rdbms\LBFactory.

Definition at line 86 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 78 of file LBFactorySingle.php.

References Wikimedia\Rdbms\LBFactorySingle\$lb.

◆ newExternalLB()

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

Reimplemented from Wikimedia\Rdbms\LBFactory.

Definition at line 82 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, and Wikimedia\Rdbms\IDatabase\getDomainID().

◆ newMainLB()

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

Reimplemented from Wikimedia\Rdbms\LBFactory.

Definition at line 70 of file LBFactorySingle.php.

References Wikimedia\Rdbms\LBFactorySingle\$lb.

Member Data Documentation

◆ $lb


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