MediaWiki REL1_37
|
Trivial LoadBalancer that always returns an injected connection handle. More...
Public Member Functions | |
__construct (array $params) | |
You probably want to use newFromConnection instead. | |
__destruct () | |
Public Member Functions inherited from Wikimedia\Rdbms\LoadBalancer | |
allowLagged ( $mode=null) | |
Disables/enables lag checks. | |
approveMasterChanges (array $options, $fname=__METHOD__, $owner=null) | |
approvePrimaryChanges (array $options, $fname=__METHOD__, $owner=null) | |
Perform all pre-commit checks for things like replication safety. | |
beginMasterChanges ( $fname=__METHOD__, $owner=null) | |
beginPrimaryChanges ( $fname=__METHOD__, $owner=null) | |
Flush any primary transaction snapshots and set DBO_TRX (if DBO_DEFAULT is set) | |
closeAll ( $fname=__METHOD__, $owner=null) | |
Close all open connections. | |
closeConnection (IDatabase $conn) | |
Close a connection. | |
commitAll ( $fname=__METHOD__, $owner=null) | |
Commit transactions on all open connections. | |
commitMasterChanges ( $fname=__METHOD__, $owner=null) | |
commitPrimaryChanges ( $fname=__METHOD__, $owner=null) | |
Issue COMMIT on all open primary connections to flush changes and view snapshots. | |
disable ( $fname=__METHOD__, $owner=null) | |
Close all connections and disable this load balancer. | |
finalizeMasterChanges ( $fname=__METHOD__, $owner=null) | |
finalizePrimaryChanges ( $fname=__METHOD__, $owner=null) | |
Run pre-commit callbacks and defer execution of post-commit callbacks. | |
flushMasterSnapshots ( $fname=__METHOD__, $owner=null) | |
flushPrimarySnapshots ( $fname=__METHOD__, $owner=null) | |
Commit all primary DB transactions so as to flush any REPEATABLE-READ or SSI snapshots. | |
flushReplicaSnapshots ( $fname=__METHOD__, $owner=null) | |
Commit all replica DB transactions so as to flush any REPEATABLE-READ or SSI snapshots. | |
forEachOpenConnection ( $callback, array $params=[]) | |
Call a function with each open connection object. | |
forEachOpenMasterConnection ( $callback, array $params=[]) | |
forEachOpenPrimaryConnection ( $callback, array $params=[]) | |
Call a function with each open connection object to a primary. | |
forEachOpenReplicaConnection ( $callback, array $params=[]) | |
Call a function with each open replica DB connection object. | |
getAnyOpenConnection ( $i, $flags=0) | |
Get an existing live handle to the given server index (on any domain) | |
getClusterName () | |
Get the logical name of the database cluster. | |
getConnection ( $i, $groups=[], $domain=false, $flags=0) | |
Get a live handle for a specific or virtual (DB_PRIMARY/DB_REPLICA) server index. | |
getConnectionRef ( $i, $groups=[], $domain=false, $flags=0) | |
Get a live database handle reference for a server index. | |
getLaggedReplicaMode ( $domain=false) | |
getLagTimes ( $domain=false) | |
Get an estimate of replication lag (in seconds) for each server. | |
getLazyConnectionRef ( $i, $groups=[], $domain=false, $flags=0) | |
Get a lazy-connecting database handle reference for a server index. | |
getLocalDomainID () | |
Get the local (and default) database domain ID of connection handles. | |
getMaintenanceConnectionRef ( $i, $groups=[], $domain=false, $flags=0) | |
Get a live database handle, suitable for migrations and schema changes, for a server index. | |
getMasterPos () | |
getMaxLag ( $domain=false) | |
Get the name and lag time of the most-lagged replica server. | |
getPrimaryPos () | |
Get the current primary replication position. | |
getReaderIndex ( $group=false, $domain=false) | |
Get the specific server index of the reader connection for a given group. | |
getReadOnlyReason ( $domain=false) | |
getReplicaResumePos () | |
Get the highest DB replication position for chronology control purposes. | |
getServerAttributes ( $i) | |
Get basic attributes of the server with the specified index without connecting. | |
getServerConnection ( $i, $domain, $flags=0) | |
Get a live handle for a specific server index. | |
getServerCount () | |
Get the number of servers defined in configuration. | |
getServerInfo ( $i) | |
Return the server configuration map for the server with the specified index. | |
getServerName ( $i) | |
Get the readable name of the server with the specified index. | |
getServerType ( $i) | |
Get the RDBMS type of the server with the specified index (e.g. | |
getTransactionRoundStage () | |
getWriterIndex () | |
Get the specific server index of the primary server. | |
hasMasterChanges () | |
hasMasterConnection () | |
hasOrMadeRecentMasterChanges ( $age=null) | |
hasOrMadeRecentPrimaryChanges ( $age=null) | |
Check if this load balancer object had any recent or still pending writes issued against it by this PHP thread. | |
hasPrimaryChanges () | |
Whether there are pending changes or callbacks in a transaction by this thread. | |
hasPrimaryConnection () | |
hasReplicaServers () | |
Whether there are any replica servers configured. | |
hasStreamingReplicaServers () | |
Whether any replica servers use streaming replication from the primary server. | |
haveIndex ( $i) | |
Returns true if the specified index is a valid server index. | |
isNonZeroLoad ( $i) | |
Returns true if the specified index is valid and has non-zero load. | |
laggedReplicaUsed () | |
Checks whether the database for generic connections this request was both: | |
lastMasterChangeTimestamp () | |
lastPrimaryChangeTimestamp () | |
Get the timestamp of the latest write query done by this thread. | |
openConnection ( $i, $domain=false, $flags=0) | |
pendingMasterChangeCallers () | |
pendingPrimaryChangeCallers () | |
Get the list of callers that have pending primary changes. | |
pingAll () | |
redefineLocalDomain ( $domain) | |
Close all connection and redefine the local domain for testing or schema creation. | |
resolveDomainID ( $domain) | |
reuseConnection (IDatabase $conn) | |
Mark a live handle as being available for reuse under a different database domain. | |
rollbackMasterChanges ( $fname=__METHOD__, $owner=null) | |
rollbackPrimaryChanges ( $fname=__METHOD__, $owner=null) | |
Issue ROLLBACK only on primary, only if queries were done on connection. | |
runMasterTransactionIdleCallbacks ( $fname=__METHOD__, $owner=null) | |
runMasterTransactionListenerCallbacks ( $fname=__METHOD__, $owner=null) | |
runPrimaryTransactionIdleCallbacks ( $fname=__METHOD__, $owner=null) | |
Consume and run all pending post-COMMIT/ROLLBACK callbacks and commit dangling transactions. | |
runPrimaryTransactionListenerCallbacks ( $fname=__METHOD__, $owner=null) | |
Run all recurring post-COMMIT/ROLLBACK listener callbacks. | |
safeGetLag (IDatabase $conn) | |
Get the lag in seconds for a given connection, or zero if this load balancer does not have replication enabled. | |
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. | |
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. | |
setTempTablesOnlyMode ( $value, $domain) | |
Indicate whether the tables on this domain are only temporary tables for testing. | |
setTransactionListener ( $name, callable $callback=null) | |
Set a callback via IDatabase::setTransactionListener() on all current and future primary connections of this load balancer. | |
waitFor ( $pos) | |
Set the primary position to reach before the next generic group DB handle query. | |
waitForAll ( $pos, $timeout=null) | |
Set the primary wait position and wait for ALL replica DBs to catch up to it. | |
waitForMasterPos (IDatabase $conn, $pos=false, $timeout=null) | |
waitForOne ( $pos, $timeout=null) | |
Set the primary wait position and wait for a generic replica DB to catch up to it. | |
waitForPrimaryPos (IDatabase $conn, $pos=false, $timeout=null) | |
Wait for a replica DB to reach a specified primary position. | |
Static Public Member Functions | |
static | newFromConnection (IDatabase $db, array $params=[]) |
Protected Member Functions | |
reallyOpenConnection ( $i, DatabaseDomain $domain, array $lbInfo=[]) | |
Open a new network connection to a server (uncached) | |
Protected Member Functions inherited from Wikimedia\Rdbms\LoadBalancer | |
getConnLogContext (IDatabase $conn, array $extras=[]) | |
Create a log context to pass to PSR-3 logger functions. | |
getExistingReaderIndex ( $group) | |
Get the server index chosen by the load balancer for use with the given query group. | |
resolveDomainInstance ( $domain) | |
Private Attributes | |
IDatabase | $db |
Additional Inherited Members | |
Public Attributes inherited from Wikimedia\Rdbms\LoadBalancer | |
const | MAX_LAG_DEFAULT = 6 |
Default 'maxLag' when unspecified. | |
Public Attributes inherited from Wikimedia\Rdbms\ILoadBalancer | |
const | CONN_INTENT_WRITABLE = 4 |
Caller is requesting the primary DB server for possibly writes. | |
const | CONN_REFRESH_READ_ONLY = 8 |
Bypass and update any server-side read-only mode state cache. | |
const | CONN_SILENCE_ERRORS = 2 |
Return null on connection failure instead of throwing an exception. | |
const | CONN_TRX_AUTOCOMMIT = 1 |
DB handle should have DBO_TRX disabled and the caller will leave it as such. | |
const | DB_MASTER = self::DB_PRIMARY |
Request a primary, write-enabled DB connection. | |
const | DB_PRIMARY = -2 |
Request a primary, write-enabled DB connection. | |
const | DB_REPLICA = -1 |
Request a replica DB connection. | |
const | DOMAIN_ANY = '' |
Domain specifier when no specific database needs to be selected. | |
const | GROUP_GENERIC = '' |
The generic query group. | |
const | STAGE_POSTCOMMIT_CALLBACKS = 'stage-postcommit-callbacks' |
Manager of ILoadBalancer instances is running post-commit callbacks. | |
const | STAGE_POSTROLLBACK_CALLBACKS = 'stage-postrollback-callbacks' |
Manager of ILoadBalancer instances is running post-rollback callbacks. | |
Trivial LoadBalancer that always returns an injected connection handle.
Definition at line 31 of file LoadBalancerSingle.php.
Wikimedia\Rdbms\LoadBalancerSingle::__construct | ( | array | $params | ) |
You probably want to use newFromConnection
instead.
array | $params | An associative array with one member:
|
Reimplemented from Wikimedia\Rdbms\LoadBalancer.
Definition at line 41 of file LoadBalancerSingle.php.
Wikimedia\Rdbms\LoadBalancerSingle::__destruct | ( | ) |
Reimplemented from Wikimedia\Rdbms\LoadBalancer.
Definition at line 88 of file LoadBalancerSingle.php.
|
static |
IDatabase | $db | Live connection handle |
array | $params | Parameter map to LoadBalancerSingle::__constructs() |
Definition at line 76 of file LoadBalancerSingle.php.
References Wikimedia\Rdbms\LoadBalancerSingle\$db, and Wikimedia\Rdbms\IDatabase\getDomainID().
|
protected |
Open a new network connection to a server (uncached)
Returns a Database object whether or not the connection was successful.
int | $i | Specific server index |
DatabaseDomain | $domain | Domain the connection is for, possibly unspecified |
array | $lbInfo | Additional information for setLBInfo() |
DBAccessError | |
InvalidArgumentException |
Reimplemented from Wikimedia\Rdbms\LoadBalancer.
Definition at line 84 of file LoadBalancerSingle.php.
References Wikimedia\Rdbms\LoadBalancerSingle\$db.
|
private |
Definition at line 33 of file LoadBalancerSingle.php.
Referenced by Wikimedia\Rdbms\LoadBalancerSingle\newFromConnection(), and Wikimedia\Rdbms\LoadBalancerSingle\reallyOpenConnection().