|
MediaWiki REL1_35
|
Class to store objects in the database. More...


Public Member Functions | |
| __construct ( $params) | |
| Constructor. | |
| changeTTLMulti (array $keys, $exptime, $flags=0) | |
| Change the expiration of multiple keys that exist. | |
| createTables () | |
| Create the shard tables on all databases (e.g. | |
| decr ( $key, $value=1, $flags=0) | |
| Decrease stored value of $key by $value while preserving its TTL. | |
| deleteAll () | |
| Delete content of shard tables in every server. | |
| deleteObjectsExpiringBefore ( $timestamp, callable $progress=null, $limit=INF) | |
| Delete all objects expiring before a certain date. | |
| expireAll () | |
| incr ( $key, $step=1, $flags=0) | |
| Increase stored value of $key by $value while preserving its TTL. | |
| lock ( $key, $timeout=6, $expiry=6, $rclass='') | |
| Acquire an advisory lock on a key string. | |
| makeKeyInternal ( $keyspace, $args) | |
| Construct a cache key. | |
| unlock ( $key) | |
| Release an advisory lock on a key string. | |
Public Member Functions inherited from MediumSpecificBagOStuff | |
| __construct (array $params=[]) | |
| add ( $key, $value, $exptime=0, $flags=0) | |
| Insert an item if it does not already exist. | |
| addBusyCallback (callable $workCallback) | |
| Let a callback be run to avoid wasting time on special blocking calls. | |
| changeTTL ( $key, $exptime=0, $flags=0) | |
| Change the expiration on a key if it exists. | |
| clearLastError () | |
| Clear the "last error" registry. | |
| delete ( $key, $flags=0) | |
| Delete an item. | |
| deleteMulti (array $keys, $flags=0) | |
| Batch deletion. | |
| get ( $key, $flags=0) | |
| Get an item with the given key. | |
| getLastError () | |
| Get the "last error" registered; clearLastError() should be called manually. | |
| getMulti (array $keys, $flags=0) | |
| Get an associative array containing the item for each of the keys that have items. | |
| getQoS ( $flag) | |
| getSegmentationSize () | |
| getSegmentedValueMaxSize () | |
| incrWithInit ( $key, $exptime, $value=1, $init=null, $flags=0) | |
| Increase the value of the given key (no TTL change) if it exists or create it otherwise. | |
| makeGlobalKey ( $class,... $components) | |
| Make a global cache key. | |
| makeKey ( $class,... $components) | |
| Make a cache key, scoped to this instance's keyspace. | |
| merge ( $key, callable $callback, $exptime=0, $attempts=10, $flags=0) | |
| Merge changes into the existing cache value (possibly creating a new one) | |
| set ( $key, $value, $exptime=0, $flags=0) | |
| Set an item. | |
| setMulti (array $data, $exptime=0, $flags=0) | |
| Batch insertion/replace. | |
| setNewPreparedValues (array $valueByKey) | |
| Prepare values for storage and get their serialized sizes, or, estimate those sizes. | |
Public Member Functions inherited from BagOStuff | |
| getCurrentTime () | |
| getLogger () | |
| getScopedLock ( $key, $timeout=6, $expiry=30, $rclass='') | |
| Get a lightweight exclusive self-unlocking lock. | |
| getWithSetCallback ( $key, $exptime, $callback, $flags=0) | |
| Get an item with the given key, regenerating and setting it if not found. | |
| setDebug ( $enabled) | |
| setLogger (LoggerInterface $logger) | |
| setMockTime (&$time) | |
Protected Member Functions | |
| doAdd ( $key, $value, $exptime=0, $flags=0) | |
| Insert an item if it does not already exist. | |
| doCas ( $casToken, $key, $value, $exptime=0, $flags=0) | |
| Check and set an item. | |
| doChangeTTL ( $key, $exptime, $flags) | |
| doDelete ( $key, $flags=0) | |
| Delete an item. | |
| doDeleteMulti (array $keys, $flags=0) | |
| doGet ( $key, $flags=0, &$casToken=null) | |
| doGetMulti (array $keys, $flags=0) | |
| Get an associative array containing the item for each of the keys that have items. | |
| doSet ( $key, $value, $exptime=0, $flags=0) | |
| Set an item. | |
| doSetMulti (array $data, $exptime=0, $flags=0) | |
| serialize ( $data) | |
| Serialize an object and, if possible, compress the representation. | |
| unserialize ( $serial) | |
| Unserialize and, if necessary, decompress an object. | |
Protected Member Functions inherited from MediumSpecificBagOStuff | |
| cas ( $casToken, $key, $value, $exptime=0, $flags=0) | |
| Check and set an item. | |
| debug ( $text) | |
| getExpirationAsTimestamp ( $exptime) | |
| Convert an optionally relative timestamp to an absolute time. | |
| getExpirationAsTTL ( $exptime) | |
| Convert an optionally absolute expiry time to a relative time. | |
| getSerialized ( $value, $key) | |
| Get the serialized form a value, using any applicable prepared value. | |
| guessSerialValueSize ( $value, $depth=0, &$loops=0) | |
| Estimate the size of a variable once serialized. | |
| isInteger ( $value) | |
| Check if a value is an integer. | |
| isRelativeExpiration ( $exptime) | |
| makeValueOrSegmentList ( $key, $value, $exptime, $flags) | |
| Determine the entry (inline or segment list) to store under a key to save the value. | |
| mergeViaCas ( $key, callable $callback, $exptime, $attempts, $flags) | |
| resolveSegments ( $key, $mainValue) | |
| Get and reassemble the chunks of blob at the given key. | |
| setLastError ( $err) | |
| Set the "last error" registry. | |
Protected Member Functions inherited from BagOStuff | |
| fieldHasFlags ( $field, $flags) | |
| mergeFlagMaps (array $bags) | |
| Merge the flag maps of one or more BagOStuff objects into a "lowest common denominator" map. | |
Protected Attributes | |
| Exception[] | $connFailureErrors = [] |
| Map of (shard index => Exception) | |
| float[] | $connFailureTimes = [] |
| Map of (shard index => UNIX timestamps) | |
| IMaintainableDatabase[] | $conns |
| Map of (shard index => DB handle) | |
| ILoadBalancer null | $globalKeyLb |
| int | $lastGarbageCollect = 0 |
| UNIX timestamp. | |
| ILoadBalancer null | $localKeyLb |
| int | $numServerShards |
| Number of database servers shards (e.g. | |
| int | $numTableShards = 1 |
| int | $purgeLimit = 100 |
| int | $purgePeriod = 10 |
| bool | $replicaOnly |
| array[] | $serverInfos = [] |
| (server index => server config) | |
| string[] | $serverTags = [] |
| (server index => tag/host name) | |
| string | $tableName = 'objectcache' |
Protected Attributes inherited from MediumSpecificBagOStuff | |
| callable[] | $busyCallbacks = [] |
| string | $keyspace = 'local' |
| int | $lastError = self::ERR_NONE |
| ERR_* class constant. | |
| array[] | $locks = [] |
| Lock tracking. | |
| array[] | $preparedValues = [] |
| Map of (key => (PHP variable value, serialized value)) | |
| int | $segmentationSize |
| Bytes; chunk size of segmented cache values. | |
| int | $segmentedValueMaxSize |
| Bytes; maximum total size of a segmented cache value. | |
| int | $syncTimeout |
| Seconds. | |
Protected Attributes inherited from BagOStuff | |
| callable null | $asyncHandler |
| int[] | $attrMap = [] |
| Map of (ATTR_* class constant => QOS_* class constant) | |
| bool | $debugMode = false |
| LoggerInterface | $logger |
Private Member Functions | |
| deleteServerObjectsExpiringBefore (IDatabase $db, $timestamp, $progressCallback, $limit, $serversDoneCount=0, &$keysDeletedCount=0) | |
| fetchBlobMulti (array $keys) | |
| getConnection ( $shardIndex) | |
| Get a connection to the specified database. | |
| getConnectionFromServerInfo ( $shardIndex, array $server) | |
| getConnectionViaLoadBalancer ( $shardIndex) | |
| getKeyLocation ( $key) | |
| Get the server index and table name for a given key. | |
| getMaxDateTime ( $db) | |
| getServerShardIndexes () | |
| getTableNameByShard ( $index) | |
| Get the table name for a given shard index. | |
| handleReadError (DBError $exception, $shardIndex) | |
| Handle a DBError which occurred during a read operation. | |
| handleWriteError (DBError $exception, $db, $shardIndex) | |
| Handle a DBQueryError which occurred during a write operation. | |
| initSqliteDatabase (IMaintainableDatabase $db) | |
| isExpired (IDatabase $db, $exptime) | |
| markServerDown (DBError $exception, $shardIndex) | |
| Mark a server down due to a DBConnectionError exception. | |
| modifyMulti (array $data, $exptime, $flags, $op) | |
| occasionallyGarbageCollect (IDatabase $db) | |
| setAndLogDBError (DBError $exception) | |
| silenceTransactionProfiler () | |
| Silence the transaction profiler until the return value falls out of scope. | |
| updateTable ( $op, $db, $table, $tableKeys, $data, $dbExpiry) | |
| waitForReplication ( $shardIndex) | |
| Wait for replica DBs to catch up to the master DB. | |
Static Private Attributes | |
| static int | $GC_DELAY_SEC = 1 |
| static string | $OP_ADD = 'add' |
| static string | $OP_DELETE = 'delete' |
| static string | $OP_SET = 'set' |
| static string | $OP_TOUCH = 'touch' |
Additional Inherited Members | |
Public Attributes inherited from BagOStuff | |
| const | READ_LATEST = 1 |
| Bitfield constants for get()/getMulti(); these are only advisory. | |
| const | READ_VERIFIED = 2 |
| const | WRITE_ALLOW_SEGMENTS = 16 |
| const | WRITE_BACKGROUND = 64 |
| const | WRITE_CACHE_ONLY = 8 |
| const | WRITE_PRUNE_SEGMENTS = 32 |
| const | WRITE_SYNC = 4 |
| Bitfield constants for set()/merge(); these are only advisory. | |
Class to store objects in the database.
Definition at line 42 of file SqlBagOStuff.php.
| SqlBagOStuff::__construct | ( | $params | ) |
Constructor.
Parameters are:
| array | $params |
Definition at line 127 of file SqlBagOStuff.php.
References $globalKeyLb.
| SqlBagOStuff::changeTTLMulti | ( | array | $keys, |
| $exptime, | |||
$flags = 0 |
|||
| ) |
Change the expiration of multiple keys that exist.
| string[] | $keys | List of keys |
| int | $exptime | TTL or UNIX timestamp |
| int | $flags | Bitfield of BagOStuff::WRITE_* constants (since 1.33) |
Reimplemented from MediumSpecificBagOStuff.
Definition at line 576 of file SqlBagOStuff.php.
References $keys, and modifyMulti().
| SqlBagOStuff::createTables | ( | ) |
Create the shard tables on all databases (e.g.
via eval.php/shell.php)
Definition at line 1079 of file SqlBagOStuff.php.
References $numTableShards, getConnection(), getServerShardIndexes(), and getTableNameByShard().
| SqlBagOStuff::decr | ( | $key, | |
$value = 1, |
|||
$flags = 0 |
|||
| ) |
Decrease stored value of $key by $value while preserving its TTL.
| string | $key | |
| int | $value | Value to subtract from $key (default: 1) [optional] |
| int | $flags | Bit field of class WRITE_* constants [optional] |
Reimplemented from BagOStuff.
Definition at line 572 of file SqlBagOStuff.php.
References incr().
| SqlBagOStuff::deleteAll | ( | ) |
Delete content of shard tables in every server.
Return true if the operation is successful, false otherwise.
Definition at line 766 of file SqlBagOStuff.php.
References $numTableShards, getConnection(), getServerShardIndexes(), getTableNameByShard(), handleWriteError(), and silenceTransactionProfiler().
| SqlBagOStuff::deleteObjectsExpiringBefore | ( | $timestamp, | |
| callable | $progress = null, |
||
$limit = INF |
|||
| ) |
Delete all objects expiring before a certain date.
| string | int | $timestamp | The reference date in MW or TS_UNIX format |
| callable | null | $progress | Optional, a function which will be called regularly during long-running operations with the percentage progress as the first parameter. [optional] |
| int | $limit | Maximum number of keys to delete [default: INF] |
Reimplemented from MediumSpecificBagOStuff.
Definition at line 647 of file SqlBagOStuff.php.
References deleteServerObjectsExpiringBefore(), getConnection(), getServerShardIndexes(), handleWriteError(), and silenceTransactionProfiler().
Referenced by expireAll().
|
private |
| IDatabase | $db | |
| string | int | $timestamp | |
| callable | null | $progressCallback | |
| int | $limit | |
| int | $serversDoneCount | |
| int | &$keysDeletedCount |
| DBError |
Definition at line 691 of file SqlBagOStuff.php.
References $keys, $numServerShards, $res, Wikimedia\Rdbms\IDatabase\addQuotes(), Wikimedia\Rdbms\IDatabase\affectedRows(), Wikimedia\Rdbms\IDatabase\delete(), getTableNameByShard(), Wikimedia\Rdbms\IDatabase\select(), and Wikimedia\Rdbms\IDatabase\timestamp().
Referenced by deleteObjectsExpiringBefore(), and occasionallyGarbageCollect().
|
protected |
Insert an item if it does not already exist.
| string | $key | |
| mixed | $value | |
| int | $exptime | |
| int | $flags | Bitfield of BagOStuff::WRITE_* constants (since 1.33) |
Reimplemented from MediumSpecificBagOStuff.
Definition at line 480 of file SqlBagOStuff.php.
References modifyMulti().
|
protected |
Check and set an item.
| mixed | $casToken | |
| string | $key | |
| mixed | $value | |
| int | $exptime | Either an interval in seconds or a unix timestamp for expiry |
| int | $flags | Bitfield of BagOStuff::WRITE_* constants |
Reimplemented from MediumSpecificBagOStuff.
Definition at line 484 of file SqlBagOStuff.php.
References $success, $tableName, BagOStuff\fieldHasFlags(), getConnection(), MediumSpecificBagOStuff\getExpirationAsTimestamp(), getKeyLocation(), getMaxDateTime(), handleWriteError(), silenceTransactionProfiler(), and waitForReplication().
|
protected |
| string | $key | |
| int | $exptime | |
| int | $flags |
Reimplemented from MediumSpecificBagOStuff.
Definition at line 585 of file SqlBagOStuff.php.
References modifyMulti().
|
protected |
Delete an item.
| string | $key | |
| int | $flags | Bitfield of BagOStuff::WRITE_* constants |
Reimplemented from MediumSpecificBagOStuff.
Definition at line 534 of file SqlBagOStuff.php.
References modifyMulti().
|
protected |
| string[] | $keys | List of keys |
| int | $flags | Bitfield of BagOStuff::WRITE_* constants |
Reimplemented from MediumSpecificBagOStuff.
Definition at line 525 of file SqlBagOStuff.php.
References $keys, and modifyMulti().
|
protected |
| string | $key | |
| int | $flags | Bitfield of BagOStuff::READ_* constants [optional] |
| mixed | null | &$casToken | Token to use for check-and-set comparisons |
Reimplemented from MediumSpecificBagOStuff.
Definition at line 261 of file SqlBagOStuff.php.
References $blob, fetchBlobMulti(), and unserialize().
|
protected |
Get an associative array containing the item for each of the keys that have items.
| string[] | $keys | List of keys |
| int | $flags | Bitfield; supports READ_LATEST [optional] |
Reimplemented from MediumSpecificBagOStuff.
Definition at line 277 of file SqlBagOStuff.php.
References $blob, fetchBlobMulti(), and unserialize().
|
protected |
Set an item.
| string | $key | |
| mixed | $value | |
| int | $exptime | Either an interval in seconds or a unix timestamp for expiry |
| int | $flags | Bitfield of BagOStuff::WRITE_* constants |
Reimplemented from MediumSpecificBagOStuff.
Definition at line 476 of file SqlBagOStuff.php.
References modifyMulti().
|
protected |
| mixed[] | $data | Map of (key => value) |
| int | $exptime | Either an interval in seconds or a unix timestamp for expiry |
| int | $flags | Bitfield of BagOStuff::WRITE_* constants |
Reimplemented from MediumSpecificBagOStuff.
Definition at line 349 of file SqlBagOStuff.php.
References modifyMulti().
| SqlBagOStuff::expireAll | ( | ) |
Definition at line 643 of file SqlBagOStuff.php.
References deleteObjectsExpiringBefore(), and BagOStuff\getCurrentTime().
|
private |
Definition at line 288 of file SqlBagOStuff.php.
References $keys, $res, $tableName, MediumSpecificBagOStuff\debug(), getConnection(), getKeyLocation(), handleReadError(), handleWriteError(), and isExpired().
Referenced by doGet(), and doGetMulti().
|
private |
Get a connection to the specified database.
| int | string | $shardIndex | Server index or self::SHARD_LOCAL/self::SHARD_GLOBAL |
| DBConnectionError | |
| UnexpectedValueException |
Definition at line 186 of file SqlBagOStuff.php.
References getConnectionFromServerInfo(), getConnectionViaLoadBalancer(), and BagOStuff\getCurrentTime().
Referenced by createTables(), deleteAll(), deleteObjectsExpiringBefore(), doCas(), fetchBlobMulti(), incr(), lock(), modifyMulti(), and unlock().
|
private |
| int | $shardIndex | |
| array | $server | Server config map |
| DBError |
Definition at line 957 of file SqlBagOStuff.php.
References Wikimedia\Rdbms\IDatabase\getType(), initSqliteDatabase(), and Wikimedia\Rdbms\IDatabase\tableExists().
Referenced by getConnection().
|
private |
| string | $shardIndex | self::SHARD_LOCAL/self::SHARD_GLOBAL |
| DBError |
Definition at line 933 of file SqlBagOStuff.php.
References $globalKeyLb, DB_MASTER, DB_REPLICA, and Wikimedia\Rdbms\ILoadBalancer\getMaintenanceConnectionRef().
Referenced by getConnection().
|
private |
Get the server index and table name for a given key.
| string | $key |
Definition at line 218 of file SqlBagOStuff.php.
References $globalKeyLb, $numTableShards, $serverTags, and getTableNameByShard().
Referenced by doCas(), fetchBlobMulti(), incr(), lock(), modifyMulti(), and unlock().
|
private |
| IDatabase | $db |
Definition at line 605 of file SqlBagOStuff.php.
References BagOStuff\getCurrentTime().
Referenced by doCas(), isExpired(), and modifyMulti().
|
private |
Definition at line 1095 of file SqlBagOStuff.php.
Referenced by createTables(), deleteAll(), and deleteObjectsExpiringBefore().
|
private |
Get the table name for a given shard index.
| int | null | $index |
Definition at line 251 of file SqlBagOStuff.php.
References $tableName.
Referenced by createTables(), deleteAll(), deleteServerObjectsExpiringBefore(), and getKeyLocation().
|
private |
Handle a DBError which occurred during a read operation.
| DBError | $exception | |
| int | $shardIndex |
Definition at line 984 of file SqlBagOStuff.php.
References markServerDown(), and setAndLogDBError().
Referenced by fetchBlobMulti().
|
private |
Handle a DBQueryError which occurred during a write operation.
| DBError | $exception | |
| IDatabase | null | $db | DB handle or null if connection failed |
| int | $shardIndex |
| Exception |
Definition at line 1000 of file SqlBagOStuff.php.
References markServerDown(), and setAndLogDBError().
Referenced by deleteAll(), deleteObjectsExpiringBefore(), doCas(), fetchBlobMulti(), incr(), lock(), modifyMulti(), and unlock().
| SqlBagOStuff::incr | ( | $key, | |
$value = 1, |
|||
$flags = 0 |
|||
| ) |
Increase stored value of $key by $value while preserving its TTL.
| string | $key | Key to increase |
| int | $value | Value to add to $key (default: 1) [optional] |
| int | $flags | Bit field of class WRITE_* constants [optional] |
Reimplemented from BagOStuff.
Definition at line 538 of file SqlBagOStuff.php.
References $tableName, getConnection(), getKeyLocation(), handleWriteError(), MediumSpecificBagOStuff\isInteger(), and silenceTransactionProfiler().
Referenced by decr().
|
private |
| IMaintainableDatabase | $db |
| DBError |
Definition at line 1050 of file SqlBagOStuff.php.
References Wikimedia\Rdbms\IDatabase\addIdentifierQuotes(), Wikimedia\Rdbms\IDatabase\endAtomic(), Wikimedia\Rdbms\IDatabase\query(), Wikimedia\Rdbms\IDatabase\rollback(), Wikimedia\Rdbms\IDatabase\startAtomic(), Wikimedia\Rdbms\IDatabase\tableExists(), Wikimedia\Rdbms\IMaintainableDatabase\tableName(), and Wikimedia\Rdbms\IDatabase\tablePrefix().
Referenced by getConnectionFromServerInfo().
|
private |
| IDatabase | $db | |
| string | $exptime |
Definition at line 594 of file SqlBagOStuff.php.
References BagOStuff\getCurrentTime(), and getMaxDateTime().
Referenced by fetchBlobMulti().
| SqlBagOStuff::lock | ( | $key, | |
$timeout = 6, |
|||
$expiry = 6, |
|||
$rclass = '' |
|||
| ) |
Acquire an advisory lock on a key string.
Note that if reentry is enabled, duplicate calls ignore $expiry
| string | $key | |
| int | $timeout | Lock wait timeout; 0 for non-blocking [optional] |
| int | $expiry | Lock expiry [optional]; 1 day maximum |
| string | $rclass | Allow reentry if set and the current lock used this value |
Reimplemented from MediumSpecificBagOStuff.
Definition at line 784 of file SqlBagOStuff.php.
References getConnection(), getKeyLocation(), and handleWriteError().
| SqlBagOStuff::makeKeyInternal | ( | $keyspace, | |
| $args | |||
| ) |
Construct a cache key.
| string | $keyspace | |
| array | $args |
Reimplemented from MediumSpecificBagOStuff.
Definition at line 858 of file SqlBagOStuff.php.
References $args, and MediumSpecificBagOStuff\$keyspace.
|
private |
Mark a server down due to a DBConnectionError exception.
| DBError | $exception | |
| int | $shardIndex |
Definition at line 1028 of file SqlBagOStuff.php.
References BagOStuff\getCurrentTime().
Referenced by handleReadError(), and handleWriteError().
|
private |
| mixed[] | null[] | $data | Map of (key => new value or null) |
| int | $exptime | UNIX timestamp, TTL in seconds, or 0 (no expiration) |
| int | $flags | Bitfield of BagOStuff::WRITE_* constants |
| string | $op | Cache operation |
Definition at line 360 of file SqlBagOStuff.php.
References $tableName, BagOStuff\fieldHasFlags(), getConnection(), MediumSpecificBagOStuff\getExpirationAsTimestamp(), getKeyLocation(), getMaxDateTime(), handleWriteError(), occasionallyGarbageCollect(), silenceTransactionProfiler(), updateTable(), and waitForReplication().
Referenced by changeTTLMulti(), doAdd(), doChangeTTL(), doDelete(), doDeleteMulti(), doSet(), and doSetMulti().
|
private |
| IDatabase | $db |
| DBError |
Definition at line 617 of file SqlBagOStuff.php.
References BagOStuff\$asyncHandler, deleteServerObjectsExpiringBefore(), and BagOStuff\getCurrentTime().
Referenced by modifyMulti().
|
protected |
Serialize an object and, if possible, compress the representation.
On typical message and page data, this can provide a 3X decrease in storage requirements.
| mixed | $data |
Reimplemented from MediumSpecificBagOStuff.
Definition at line 892 of file SqlBagOStuff.php.
References serialize().
|
private |
| DBError | $exception |
Definition at line 1011 of file SqlBagOStuff.php.
References MediumSpecificBagOStuff\setLastError().
Referenced by handleReadError(), handleWriteError(), and waitForReplication().
|
private |
Silence the transaction profiler until the return value falls out of scope.
Definition at line 1157 of file SqlBagOStuff.php.
Referenced by deleteAll(), deleteObjectsExpiringBefore(), doCas(), incr(), and modifyMulti().
| SqlBagOStuff::unlock | ( | $key | ) |
Release an advisory lock on a key string.
| string | $key |
Reimplemented from MediumSpecificBagOStuff.
Definition at line 819 of file SqlBagOStuff.php.
References getConnection(), getKeyLocation(), and handleWriteError().
|
protected |
Unserialize and, if necessary, decompress an object.
| string | $serial |
Reimplemented from MediumSpecificBagOStuff.
Definition at line 910 of file SqlBagOStuff.php.
References MediumSpecificBagOStuff\isInteger(), and unserialize().
Referenced by doGet(), doGetMulti(), and unserialize().
|
private |
| string | $op | |
| IDatabase | $db | |
| string | $table | |
| string[] | $tableKeys | Keys in $data to update |
| mixed[] | null[] | $data | Map of (key => new value or null) |
| string | $dbExpiry | DB-encoded expiry |
| DBError | |
| InvalidArgumentException |
Definition at line 422 of file SqlBagOStuff.php.
References $success, and serialize().
Referenced by modifyMulti().
|
private |
Wait for replica DBs to catch up to the master DB.
| int | string | $shardIndex | Server index or self::SHARD_LOCAL/self::SHARD_GLOBAL |
Definition at line 1119 of file SqlBagOStuff.php.
References MediumSpecificBagOStuff\$busyCallbacks, $globalKeyLb, MediumSpecificBagOStuff\$syncTimeout, Wikimedia\Rdbms\ILoadBalancer\getMasterPos(), and setAndLogDBError().
Referenced by doCas(), and modifyMulti().
|
protected |
Map of (shard index => Exception)
Definition at line 72 of file SqlBagOStuff.php.
|
protected |
Map of (shard index => UNIX timestamps)
Definition at line 70 of file SqlBagOStuff.php.
|
protected |
Map of (shard index => DB handle)
Definition at line 68 of file SqlBagOStuff.php.
|
staticprivate |
Definition at line 75 of file SqlBagOStuff.php.
|
protected |
Definition at line 46 of file SqlBagOStuff.php.
Referenced by __construct(), getConnectionViaLoadBalancer(), getKeyLocation(), and waitForReplication().
|
protected |
UNIX timestamp.
Definition at line 55 of file SqlBagOStuff.php.
|
protected |
Definition at line 44 of file SqlBagOStuff.php.
|
protected |
Number of database servers shards (e.g.
horizontal/vertical partitions)
Definition at line 53 of file SqlBagOStuff.php.
Referenced by deleteServerObjectsExpiringBefore().
|
protected |
Definition at line 61 of file SqlBagOStuff.php.
Referenced by createTables(), deleteAll(), and getKeyLocation().
|
staticprivate |
Definition at line 80 of file SqlBagOStuff.php.
|
staticprivate |
Definition at line 84 of file SqlBagOStuff.php.
|
staticprivate |
Definition at line 78 of file SqlBagOStuff.php.
|
staticprivate |
Definition at line 82 of file SqlBagOStuff.php.
|
protected |
Definition at line 59 of file SqlBagOStuff.php.
|
protected |
Definition at line 57 of file SqlBagOStuff.php.
|
protected |
Definition at line 65 of file SqlBagOStuff.php.
|
protected |
(server index => server config)
Definition at line 49 of file SqlBagOStuff.php.
|
protected |
(server index => tag/host name)
Definition at line 51 of file SqlBagOStuff.php.
Referenced by getKeyLocation().
|
protected |
Definition at line 63 of file SqlBagOStuff.php.
Referenced by doCas(), fetchBlobMulti(), getTableNameByShard(), incr(), and modifyMulti().