MediaWiki  REL1_20
SqlBagOStuff Class Reference

Class to store objects in the database. More...

Inheritance diagram for SqlBagOStuff:
Collaboration diagram for SqlBagOStuff:

List of all members.

Public Member Functions

 __construct ($params)
 Constructor.
 createTables ()
 Create shard tables.
 delete ($key, $time=0)
 deleteAll ()
 deleteObjectsExpiringBefore ($timestamp, $progressCallback=false)
 Delete objects from the database which expire before a certain date.
 expireAll ()
 get ($key)
 getMulti (array $keys)
 incr ($key, $step=1)
 keys ()
 set ($key, $value, $exptime=0)

Public Attributes

DatabaseBase $db
 $lastExpireAll = 0
LoadBalancer $lb
 $purgePeriod = 100
 $serverInfo
 $shards = 1
 $tableName = 'objectcache'

Protected Member Functions

 garbageCollect ()
 getDB ()
 getMaxDateTime ()
 getTableByKey ($key)
 Get the table name for a given key.
 getTableByShard ($index)
 Get the table name for a given shard index.
 handleReadError (DBError $exception)
 Handle a DBError which occurred during a read operation.
 handleWriteError (DBError $exception)
 Handle a DBQueryError which occurred during a write operation.
 isExpired ($exptime)
 serialize (&$data)
 Serialize an object and, if possible, compress the representation.
 unserialize ($serial)
 Unserialize and, if necessary, decompress an object.

Protected Attributes

 $connFailureError
 $connFailureTime = 0

Detailed Description

Class to store objects in the database.

Definition at line 29 of file SqlBagOStuff.php.


Constructor & Destructor Documentation

Constructor.

Parameters are:

  • server: A server info structure in the format required by each element in $wgDBServers.
  • purgePeriod: The average number of object cache requests in between garbage collection operations, where expired entries are removed from the database. Or in other words, the reciprocal of the probability of purging on any given request. If this is set to zero, purging will never be done.
  • tableName: The table name to use, default is "objectcache".
  • shards: The number of tables to use for data storage. If this is more than 1, table names will be formed in the style objectcacheNNN where NNN is the shard index, between 0 and shards-1. The number of digits will be the minimum number required to hold the largest shard index. Data will be distributed across all tables by key hash. This is for MySQL bugs 61735 and 61736.
Parameters:
$paramsarray

Definition at line 70 of file SqlBagOStuff.php.


Member Function Documentation

Create shard tables.

For use from eval.php.

Definition at line 582 of file SqlBagOStuff.php.

SqlBagOStuff::delete ( key,
time = 0 
)
Parameters:
$keystring
$timeint
Returns:
bool

Reimplemented from BagOStuff.

Definition at line 280 of file SqlBagOStuff.php.

Definition at line 487 of file SqlBagOStuff.php.

SqlBagOStuff::deleteObjectsExpiringBefore ( timestamp,
progressCallback = false 
)

Delete objects from the database which expire before a certain date.

Parameters:
$timestampstring
$progressCallbackbool|callback
Returns:
bool

Reimplemented from BagOStuff.

Definition at line 418 of file SqlBagOStuff.php.

Definition at line 408 of file SqlBagOStuff.php.

Definition at line 391 of file SqlBagOStuff.php.

SqlBagOStuff::get ( key)
Parameters:
$keystring
Returns:
mixed

Reimplemented from BagOStuff.

Definition at line 162 of file SqlBagOStuff.php.

SqlBagOStuff::getDB ( ) [protected]
Returns:
DatabaseBase

Definition at line 89 of file SqlBagOStuff.php.

Returns:
string

Definition at line 383 of file SqlBagOStuff.php.

SqlBagOStuff::getMulti ( array $  keys)
Parameters:
$keysarray
Returns:
Array

Reimplemented from BagOStuff.

Definition at line 171 of file SqlBagOStuff.php.

SqlBagOStuff::getTableByKey ( key) [protected]

Get the table name for a given key.

Parameters:
$keystring
Returns:
string

Definition at line 134 of file SqlBagOStuff.php.

SqlBagOStuff::getTableByShard ( index) [protected]

Get the table name for a given shard index.

Parameters:
$indexint
Returns:
string

Definition at line 148 of file SqlBagOStuff.php.

SqlBagOStuff::handleReadError ( DBError exception) [protected]

Handle a DBError which occurred during a read operation.

Definition at line 545 of file SqlBagOStuff.php.

SqlBagOStuff::handleWriteError ( DBError exception) [protected]

Handle a DBQueryError which occurred during a write operation.

Definition at line 561 of file SqlBagOStuff.php.

SqlBagOStuff::incr ( key,
step = 1 
)
Parameters:
$keystring
$stepint
Returns:
int|null

Reimplemented from BagOStuff.

Definition at line 302 of file SqlBagOStuff.php.

SqlBagOStuff::isExpired ( exptime) [protected]
Parameters:
$exptimestring
Returns:
bool

Definition at line 376 of file SqlBagOStuff.php.

Returns:
Array

Reimplemented from BagOStuff.

Definition at line 353 of file SqlBagOStuff.php.

SqlBagOStuff::serialize ( &$  data) [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.

Parameters:
$datamixed
Returns:
string

Definition at line 511 of file SqlBagOStuff.php.

SqlBagOStuff::set ( key,
value,
exptime = 0 
)
Parameters:
$keystring
$valuemixed
$exptimeint
Returns:
bool

Reimplemented from BagOStuff.

Definition at line 237 of file SqlBagOStuff.php.

SqlBagOStuff::unserialize ( serial) [protected]

Unserialize and, if necessary, decompress an object.

Parameters:
$serialstring
Returns:
mixed

Definition at line 526 of file SqlBagOStuff.php.


Member Data Documentation

SqlBagOStuff::$connFailureError [protected]

Definition at line 44 of file SqlBagOStuff.php.

SqlBagOStuff::$connFailureTime = 0 [protected]

Definition at line 43 of file SqlBagOStuff.php.

DatabaseBase SqlBagOStuff::$db

Definition at line 36 of file SqlBagOStuff.php.

SqlBagOStuff::$lastExpireAll = 0

Definition at line 38 of file SqlBagOStuff.php.

LoadBalancer SqlBagOStuff::$lb

Definition at line 32 of file SqlBagOStuff.php.

SqlBagOStuff::$purgePeriod = 100

Definition at line 39 of file SqlBagOStuff.php.

SqlBagOStuff::$serverInfo

Definition at line 37 of file SqlBagOStuff.php.

SqlBagOStuff::$shards = 1

Definition at line 40 of file SqlBagOStuff.php.

SqlBagOStuff::$tableName = 'objectcache'

Definition at line 41 of file SqlBagOStuff.php.


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