MediaWiki  1.23.14
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:

Public Member Functions

 __construct ( $withTransaction=true)
 Constructor. More...
 
 abortTransaction ()
 Abort the database transaction started via beginTransaction (if any). More...
 
 beginTransaction ()
 Begin a database transaction, if $withTransaction was given as true in the constructor for this SqlDataUpdate. More...
 
 commitTransaction ()
 Commit the database transaction started via beginTransaction (if any). More...
 
- Public Member Functions inherited from DataUpdate
 __construct ()
 Constructor. More...
 
 rollbackTransaction ()
 Abort / roll back the transaction started via beginTransaction, if any. More...
 
- Public Member Functions inherited from DeferrableUpdate
 doUpdate ()
 Perform the actual work. More...
 

Protected Member Functions

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

Protected Attributes

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

Private Attributes

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

Additional Inherited Members

- Static Public Member Functions inherited from DataUpdate
static runUpdates ( $updates)
 Convenience method, calls doUpdate() on every DataUpdate in the array. More...
 

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

◆ __construct()

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.

References ALF_NO_LINK_LOCK, array(), DB_MASTER, global, and wfGetDB().

Member Function Documentation

◆ abortTransaction()

SqlDataUpdate::abortTransaction ( )

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

Definition at line 101 of file SqlDataUpdate.php.

◆ beginTransaction()

SqlDataUpdate::beginTransaction ( )

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.

◆ commitTransaction()

SqlDataUpdate::commitTransaction ( )

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

Reimplemented from DataUpdate.

Definition at line 91 of file SqlDataUpdate.php.

◆ invalidatePages()

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.

References $res, array(), and as.

Referenced by LinksUpdate\invalidateCategories(), and LinksUpdate\invalidateImageDescriptions().

Member Data Documentation

◆ $mDb

DatabaseBase SqlDataUpdate::$mDb
protected

Database connection reference *.

Definition at line 34 of file SqlDataUpdate.php.

◆ $mHasTransaction

bool SqlDataUpdate::$mHasTransaction
private

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

Definition at line 38 of file SqlDataUpdate.php.

◆ $mOptions

array SqlDataUpdate::$mOptions
protected

SELECT options to be used (array) *.

Definition at line 36 of file SqlDataUpdate.php.

◆ $mUseTransaction

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: