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


Public Member Functions | |
| __construct (array $conf) | |
| forEachLB ( $callback, array $params=[]) | |
| Execute a function for each currently tracked (instantiated) load balancer. | |
| getAllExternalLBs () | |
| Get cached (tracked) load balancers for all external database clusters. | |
| getAllMainLBs () | |
| Get cached (tracked) load balancers for all main database clusters. | |
| getExternalLB ( $cluster) | |
| Get a cached (tracked) load balancer for external storage. | |
| getMainLB ( $domain=false) | |
| Get a cached (tracked) load balancer object. | |
| newExternalLB ( $cluster, $owner=null) | |
| Create a new load balancer for external storage. | |
| newMainLB ( $domain=false, $owner=null) | |
| Create a new load balancer object. | |
Public Member Functions inherited from Wikimedia\Rdbms\LBFactory | |
| __destruct () | |
| appendShutdownCPIndexAsQuery ( $url, $index) | |
| Append ?cpPosIndex parameter to a URL for ChronologyProtector purposes if needed. | |
| beginMasterChanges ( $fname=__METHOD__) | |
| Flush any master transaction snapshots and set DBO_TRX (if DBO_DEFAULT is set) | |
| closeAll () | |
| Close all open database connections on all open load balancers. | |
| commitAll ( $fname=__METHOD__, array $options=[]) | |
| Commit open transactions on all connections. | |
| commitAndWaitForReplication ( $fname, $ticket, array $opts=[]) | |
| Convenience method for safely running commitMasterChanges()/waitForReplication() | |
| commitMasterChanges ( $fname=__METHOD__, array $options=[]) | |
| Commit changes and clear view snapshots on all master connections. | |
| destroy () | |
| Disables all load balancers. | |
| disableChronologyProtection () | |
| Disable the ChronologyProtector for all load balancers. | |
| flushReplicaSnapshots ( $fname=__METHOD__) | |
| Commit all replica DB transactions so as to flush any REPEATABLE-READ or SSI snapshot. | |
| getChronologyProtectorClientId () | |
| Get the client ID of the ChronologyProtector instance. | |
| getChronologyProtectorTouched ( $domain=false) | |
| getEmptyTransactionTicket ( $fname) | |
| Get a token asserting that no transaction writes are active. | |
| getLocalDomainID () | |
| Get the local (and default) database domain ID of connection handles. | |
| getTransactionProfiler () | |
| Get a TransactionProfiler used by this instance. | |
| hasMasterChanges () | |
| Determine if any master connection has pending changes. | |
| hasOrMadeRecentMasterChanges ( $age=null) | |
| Determine if any master connection has pending/written changes from this request. | |
| hasTransactionRound () | |
| Check if an explicit transaction round is active. | |
| isReadyForRoundOperations () | |
| Check if transaction rounds can be started, committed, or rolled back right now. | |
| laggedReplicaUsed () | |
| Detemine if any lagged replica DB connection was used. | |
| redefineLocalDomain ( $domain) | |
| Close all connection and redefine the local domain for testing or schema creation. | |
| resolveDomainID ( $domain) | |
| rollbackMasterChanges ( $fname=__METHOD__) | |
| Rollback changes on all master connections. | |
| setAgentName ( $agent) | |
| setDefaultReplicationWaitTimeout ( $seconds) | |
| setDomainAliases (array $aliases) | |
| Convert certain database domains to alternative ones. | |
| setIndexAliases (array $aliases) | |
| Convert certain index names to alternative names before querying the DB. | |
| setLocalDomainPrefix ( $prefix) | |
| Set a new table prefix for the existing local domain ID for testing. | |
| 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. | |
| setWaitForReplicationListener ( $name, callable $callback=null) | |
| Add a callback to be run in every call to waitForReplication() before waiting. | |
| shutdown ( $mode=self::SHUTDOWN_CHRONPROT_SYNC, callable $workCallback=null, &$cpIndex=null, &$cpClientId=null) | |
| Prepare all currently tracked (instantiated) load balancers for shutdown. | |
| waitForReplication (array $opts=[]) | |
| Waits for the replica DBs to catch up to the current master position. | |
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 | |
Protected Member Functions inherited from Wikimedia\Rdbms\LBFactory | |
| baseLoadBalancerParams ( $owner) | |
| Get parameters to ILoadBalancer::__construct() | |
| forEachLBCallMethod ( $methodName, array $args=[]) | |
| Call a method of each tracked load balancer. | |
| getChronologyProtector () | |
| getOwnershipId () | |
| initLoadBalancer (ILoadBalancer $lb) | |
| resolveDomainInstance ( $domain) | |
| shutdownChronologyProtector (ChronologyProtector $cp, $workCallback, $mode, &$cpIndex=null) | |
| Get and record all of the staged DB positions into persistent memory storage. | |
Protected Attributes inherited from Wikimedia\Rdbms\LBFactory | |
| DatabaseDomain | $localDomain |
| Local domain. | |
| int null | $maxLag |
| BagOStuff | $memStash |
| string bool | $readOnlyReason = false |
| Reason all LBs are read-only or false if not. | |
| BagOStuff | $srvCache |
| WANObjectCache | $wanCache |
An LBFactory class that always returns a single database object.
Definition at line 32 of file LBFactorySingle.php.
| Wikimedia\Rdbms\LBFactorySingle::__construct | ( | array | $conf | ) |
| array | $conf | An associative array with one member:
|
Reimplemented from Wikimedia\Rdbms\LBFactory.
Definition at line 40 of file LBFactorySingle.php.
References Wikimedia\Rdbms\LBFactorySingle\$lb, Wikimedia\Rdbms\LBFactory\baseLoadBalancerParams(), Wikimedia\Rdbms\LBFactory\getOwnershipId(), and Wikimedia\Rdbms\LBFactory\initLoadBalancer().
| Wikimedia\Rdbms\LBFactorySingle::forEachLB | ( | $callback, | |
| array | $params = [] |
||
| ) |
Execute a function for each currently tracked (instantiated) load balancer.
The callback is called with the load balancer as the first parameter, and $params passed as the subsequent parameters.
| callable | $callback | |
| array | $params |
Implements Wikimedia\Rdbms\ILBFactory.
Definition at line 94 of file LBFactorySingle.php.
| Wikimedia\Rdbms\LBFactorySingle::getAllExternalLBs | ( | ) |
Get cached (tracked) load balancers for all external database clusters.
Implements Wikimedia\Rdbms\ILBFactory.
Definition at line 90 of file LBFactorySingle.php.
| Wikimedia\Rdbms\LBFactorySingle::getAllMainLBs | ( | ) |
Get cached (tracked) load balancers for all main database clusters.
The default cluster name is ILoadBalancer::CLUSTER_MAIN_DEFAULT
Implements Wikimedia\Rdbms\ILBFactory.
Definition at line 86 of file LBFactorySingle.php.
References Wikimedia\Rdbms\LBFactorySingle\$lb.
| Wikimedia\Rdbms\LBFactorySingle::getExternalLB | ( | $cluster | ) |
Get a cached (tracked) load balancer for external storage.
| string | $cluster | External storage cluster name |
Implements Wikimedia\Rdbms\ILBFactory.
Definition at line 82 of file LBFactorySingle.php.
| Wikimedia\Rdbms\LBFactorySingle::getMainLB | ( | $domain = false | ) |
Get a cached (tracked) load balancer object.
| bool | string | $domain | Domain ID, or false for the current domain |
Implements Wikimedia\Rdbms\ILBFactory.
Definition at line 74 of file LBFactorySingle.php.
References Wikimedia\Rdbms\LBFactorySingle\$lb.
| Wikimedia\Rdbms\LBFactorySingle::newExternalLB | ( | $cluster, | |
$owner = null |
|||
| ) |
Create a new load balancer for external storage.
The resulting object will be untracked, not chronology-protected, and the caller is responsible for cleaning it up.
This method is for only advanced usage and callers should almost always use getExternalLB() instead. This method can be useful when a table is used as a key/value store. In that cases, one might want to query it in autocommit mode (DBO_TRX off) but still use DBO_TRX transaction rounds on other tables.
| string | $cluster | External storage cluster name |
| int | null | $owner | Owner ID of the new instance (e.g. this LBFactory ID) |
Implements Wikimedia\Rdbms\ILBFactory.
Definition at line 78 of file LBFactorySingle.php.
|
static |
| IDatabase | $db | Live connection handle |
| array | $params | Parameter map to LBFactorySingle::__constructs() |
Definition at line 62 of file LBFactorySingle.php.
References Wikimedia\Rdbms\IDatabase\getDomainID().
| Wikimedia\Rdbms\LBFactorySingle::newMainLB | ( | $domain = false, |
|
$owner = null |
|||
| ) |
Create a new load balancer object.
The resulting object will be untracked, not chronology-protected, and the caller is responsible for cleaning it up.
This method is for only advanced usage and callers should almost always use getMainLB() instead. This method can be useful when a table is used as a key/value store. In that cases, one might want to query it in autocommit mode (DBO_TRX off) but still use DBO_TRX transaction rounds on other tables.
| bool | string | $domain | Domain ID, or false for the current domain |
| int | null | $owner | Owner ID of the new instance (e.g. this LBFactory ID) |
Implements Wikimedia\Rdbms\ILBFactory.
Definition at line 70 of file LBFactorySingle.php.
|
private |
Definition at line 34 of file LBFactorySingle.php.
Referenced by Wikimedia\Rdbms\LBFactorySingle\__construct(), Wikimedia\Rdbms\LBFactorySingle\getAllMainLBs(), and Wikimedia\Rdbms\LBFactorySingle\getMainLB().