|
MediaWiki 1.43.1
|
Trivial LoadBalancer that always returns an injected connection handle. More...
Inherits Wikimedia\Rdbms\LoadBalancer.

Public Member Functions | |
| __construct (array $params) | |
You probably want to use newFromConnection instead. | |
| __destruct () | |
Public Member Functions inherited from Wikimedia\Rdbms\LoadBalancer | |
| approvePrimaryChanges (int $maxWriteDuration, $fname=__METHOD__) | |
| Perform all pre-commit checks for things like replication safety. | |
| beginPrimaryChanges ( $fname=__METHOD__) | |
| Flush any primary transaction snapshots and set DBO_TRX (if DBO_DEFAULT is set) | |
| closeAll ( $fname=__METHOD__) | |
| Close all open connections. | |
| commitPrimaryChanges ( $fname=__METHOD__) | |
| Issue COMMIT on all open primary connections to flush changes and view snapshots. | |
| disable ( $fname=__METHOD__) | |
| Close all connections and disable this load balancer. | |
| explicitTrxActive () | |
| Determine whether an explicit transaction is active on any open primary connection. | |
| finalizePrimaryChanges ( $fname=__METHOD__) | |
| Run pre-commit callbacks and defer execution of post-commit callbacks. | |
| flushPrimarySessions ( $fname=__METHOD__) | |
| Release/destroy session-level named locks, table locks, and temp tables. | |
| flushPrimarySnapshots ( $fname=__METHOD__) | |
| Commit all primary DB transactions so as to flush any REPEATABLE-READ or SSI snapshots. | |
| flushReplicaSnapshots ( $fname=__METHOD__) | |
| Commit all replica DB transactions so as to flush any REPEATABLE-READ or SSI snapshots. | |
| getAnyOpenConnection ( $i, $flags=0) | |
| getClusterName () | |
| Get the name of the overall cluster of database servers managing the dataset. | |
| getConnection ( $i, $groups=[], $domain=false, $flags=0) | |
| Get a lazy-connecting database handle for a specific or virtual (DB_PRIMARY/DB_REPLICA) server index. | |
| getConnectionInternal ( $i, $groups=[], $domain=false, $flags=0) | |
| getConnectionRef ( $i, $groups=[], $domain=false, $flags=0) | |
| getLagTimes () | |
| Get an estimate of replication lag (in seconds) for each server. | |
| getLocalDomainID () | |
| Get the local (and default) database domain ID of connection handles. | |
| getMaintenanceConnectionRef ( $i, $groups=[], $domain=false, $flags=0) | |
| Get a DB handle, suitable for migrations and schema changes, for a server index. | |
| getMaxLag () | |
| Get the name and lag time of the most-lagged replica server. | |
| getPrimaryPos () | |
| Get the current primary replication position. | |
| getReaderIndex ( $group=false) | |
| Get the specific server index of the reader connection for a given group. | |
| getReadOnlyReason () | |
| getServerAttributes ( $i) | |
| Get basic attributes of the server with the specified index without connecting. | |
| getServerConnection ( $i, $domain, $flags=0) | |
| Get a DB 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. | |
| 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. | |
| laggedReplicaUsed () | |
| Whether a highly "lagged" replica database connection was queried. | |
| lastPrimaryChangeTimestamp () | |
| Get the timestamp of the latest write query done by this thread. | |
| pendingPrimaryChangeCallers () | |
| Get the list of callers that have pending primary changes. | |
| pingAll () | |
| reconfigure (array $params) | |
| Apply updated configuration. | |
| redefineLocalDomain ( $domain) | |
| Close all connection and redefine the local domain for testing or schema creation. | |
| resolveDomainID ( $domain) | |
| rollbackPrimaryChanges ( $fname=__METHOD__) | |
| Issue ROLLBACK only on primary, only if queries were done on connection. | |
| runPrimaryTransactionIdleCallbacks ( $fname=__METHOD__) | |
| Consume and run all pending post-COMMIT/ROLLBACK callbacks and commit dangling transactions. | |
| runPrimaryTransactionListenerCallbacks ( $fname=__METHOD__) | |
| Run all recurring post-COMMIT/ROLLBACK listener callbacks. | |
| 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. | |
| setMockTime (&$time) | |
| 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. | |
| waitForAll (DBPrimaryPos $pos, $timeout=null) | |
| Set the primary wait position and wait for ALL replica DBs to catch up to it. | |
| waitForPrimaryPos (IDatabase $conn) | |
| 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) | |
| sanitizeConnectionFlags ( $flags, $domain) | |
| Sanitize connection flags provided by a call to getConnection() | |
Protected Member Functions inherited from Wikimedia\Rdbms\LoadBalancer | |
| configure (array $params) | |
| getConnLogContext (IDatabase $conn, array $extras=[]) | |
| Create a log context to pass to PSR-3 logger functions. | |
| getExistingReaderIndex ( $group) | |
| Get the server index chosen for DB_REPLICA connections for the given query group. | |
| resolveDomainInstance ( $domain) | |
Additional Inherited Members | |
Public Attributes inherited from Wikimedia\Rdbms\ILoadBalancerForOwner | |
| 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. | |
Public Attributes inherited from Wikimedia\Rdbms\ILoadBalancer | |
| const | CONN_SILENCE_ERRORS = 4 |
| Yield null on connection failure instead of throwing an exception. | |
| const | CONN_TRX_AUTOCOMMIT = 1 |
| Yield a tracked autocommit-mode handle (reuse existing ones) | |
| const | CONN_UNTRACKED_GAUGE = 2 |
| Yield an untracked, low-timeout, autocommit-mode handle (to gauge server health) | |
| 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. | |
Trivial LoadBalancer that always returns an injected connection handle.
Definition at line 29 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 39 of file LoadBalancerSingle.php.
References $params, Wikimedia\Rdbms\Database\getDBname(), Wikimedia\Rdbms\Database\getServer(), Wikimedia\Rdbms\IReadableDatabase\getType(), and Wikimedia\Rdbms\Database\setLBInfo().
| Wikimedia\Rdbms\LoadBalancerSingle::__destruct | ( | ) |
Definition at line 99 of file LoadBalancerSingle.php.
|
static |
| IDatabase | $db | Live connection handle |
| array | $params | Parameter map to LoadBalancerSingle::__constructs() |
Definition at line 74 of file LoadBalancerSingle.php.
References $params, and Wikimedia\Rdbms\IReadableDatabase\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 91 of file LoadBalancerSingle.php.
|
protected |
Sanitize connection flags provided by a call to getConnection()
| int | $flags | Bitfield of class CONN_* constants |
| string | $domain | Database domain |
Reimplemented from Wikimedia\Rdbms\LoadBalancer.
Definition at line 82 of file LoadBalancerSingle.php.
References Wikimedia\Rdbms\ILoadBalancer\CONN_TRX_AUTOCOMMIT.