MediaWiki  REL1_24
SqlDataUpdate Class Reference

Abstract base class for update jobs that put some secondary data extracted from article content into the database. More...

Inheritance diagram for SqlDataUpdate:
Collaboration diagram for SqlDataUpdate:

List of all members.

Public Member Functions

 __construct ($withTransaction=true)
 Constructor.
 abortTransaction ()
 Abort the database transaction started via beginTransaction (if any).
 beginTransaction ()
 Begin a database transaction, if $withTransaction was given as true in the constructor for this SqlDataUpdate.
 commitTransaction ()
 Commit the database transaction started via beginTransaction (if any).

Protected Member Functions

 invalidatePages ($namespace, array $dbkeys)
 Invalidate the cache of a list of pages from a single namespace.

Protected Attributes

DatabaseBase $mDb
 Database connection reference *.
array $mOptions
 SELECT options to be used (array) *.
bool $mUseTransaction
 Whether this update should be wrapped in a transaction *.

Private Attributes

bool $mHasTransaction
 Whether a transaction is open on this object (internal use only!) *.

Detailed Description

Abstract base class for update jobs that put some secondary data extracted from article content into the database.

Note:
subclasses should NOT start or commit transactions in their doUpdate() method, a transaction will automatically be wrapped around the update. Starting another one would break the outer transaction bracket. If need be, subclasses can override the beginTransaction() and commitTransaction() methods.

Definition at line 33 of file SqlDataUpdate.php.


Constructor & Destructor Documentation

SqlDataUpdate::__construct ( withTransaction = true)

Constructor.

Parameters:
bool$withTransactionWhether this update should be wrapped in a transaction (default: true). A transaction is only started if no transaction is already in progress, see beginTransaction() for details.

Definition at line 49 of file SqlDataUpdate.php.


Member Function Documentation

Abort the database transaction started via beginTransaction (if any).

Definition at line 101 of file SqlDataUpdate.php.

Begin a database transaction, if $withTransaction was given as true in the constructor for this SqlDataUpdate.

Because nested transactions are not supported by the Database class, this implementation checks Database::trxLevel() and only opens a transaction if none is already active.

Reimplemented from DataUpdate.

Definition at line 76 of file SqlDataUpdate.php.

Commit the database transaction started via beginTransaction (if any).

Reimplemented from DataUpdate.

Definition at line 91 of file SqlDataUpdate.php.

SqlDataUpdate::invalidatePages ( namespace,
array dbkeys 
) [protected]

Invalidate the cache of a list of pages from a single namespace.

This is intended for use by subclasses.

Parameters:
int$namespaceNamespace number
array$dbkeys

Definition at line 115 of file SqlDataUpdate.php.

Referenced by LinksUpdate\incrTableUpdate().


Member Data Documentation

DatabaseBase SqlDataUpdate::$mDb [protected]

Database connection reference *.

Reimplemented in LinksUpdate.

Definition at line 34 of file SqlDataUpdate.php.

bool SqlDataUpdate::$mHasTransaction [private]

Whether a transaction is open on this object (internal use only!) *.

Definition at line 38 of file SqlDataUpdate.php.

array SqlDataUpdate::$mOptions [protected]

SELECT options to be used (array) *.

Reimplemented in LinksUpdate.

Definition at line 36 of file SqlDataUpdate.php.

bool SqlDataUpdate::$mUseTransaction [protected]

Whether this update should be wrapped in a transaction *.

Definition at line 40 of file SqlDataUpdate.php.


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