MediaWiki  1.23.2
MysqlUpdater Class Reference

Mysql update list and mysql-specific update functions. More...

Inheritance diagram for MysqlUpdater:
Collaboration diagram for MysqlUpdater:

Public Member Functions

 doSchemaRestructuring ()
 
 doWatchlistUpdate ()
 Check if we need to add talk page rows to the watchlist. More...
 
- Public Member Functions inherited from DatabaseUpdater
 addExtensionField ( $tableName, $columnName, $sqlPath)
 
 addExtensionIndex ( $tableName, $indexName, $sqlPath)
 
 addExtensionTable ( $tableName, $sqlPath)
 Convenience wrapper for addExtensionUpdate() when adding a new table (which is the most common usage of updaters in an extension) More...
 
 addExtensionUpdate (array $update)
 Add a new update coming from an extension. More...
 
 addPostDatabaseUpdateMaintenance ( $class)
 Add a maintenance script to be run after the database updates are complete. More...
 
 appendLine ( $line)
 Append a line to the open filehandle. More...
 
 copyFile ( $filename)
 Append an SQL fragment to the open file handle. More...
 
 doUpdates ( $what=array( 'core', 'extensions', 'stats'))
 Do all the updates. More...
 
 dropExtensionField ( $tableName, $columnName, $sqlPath)
 
 dropExtensionIndex ( $tableName, $indexName, $sqlPath)
 Drop an index from an extension table. More...
 
 dropExtensionTable ( $tableName, $sqlPath)
 
 dropTable ( $table, $patch=false, $fullpath=false)
 If the specified table exists, drop it, or execute the patch if one is provided. More...
 
 getDB ()
 Get a database connection to run updates. More...
 
 getPostDatabaseUpdateMaintenance ()
 
 insertUpdateRow ( $key, $val=null)
 Helper function: Add a key to the updatelog table Obviously, only use this for updates that occur after the updatelog table was created! More...
 
 modifyExtensionField ( $tableName, $fieldName, $sqlPath)
 
 modifyField ( $table, $field, $patch, $fullpath=false)
 Modify an existing field. More...
 
 output ( $str)
 Output some text. More...
 
 purgeCache ()
 Purge the objectcache table. More...
 
 renameExtensionIndex ( $tableName, $oldIndexName, $newIndexName, $sqlPath, $skipBothIndexExistWarning=false)
 Rename an index on an extension table. More...
 
 tableExists ( $tableName)
 
 updateRowExists ( $key)
 Helper function: check if the given key is present in the updatelog table. More...
 

Protected Member Functions

 checkBin ( $table, $field, $patchFile)
 1.4 betas were missing the 'binary' marker from logging.log_title, which causes a collation mismatch error on joins in MySQL 4.1. More...
 
 doBacklinkingIndicesUpdate ()
 
 doCategorylinksIndicesUpdate ()
 
 doCategoryPopulation ()
 
 doClFieldsUpdate ()
 
 doEnableProfiling ()
 
 doFilearchiveIndicesUpdate ()
 
 doFixAncientImagelinks ()
 
 doIndexUpdate ()
 Check that proper indexes are in place. More...
 
 doInterwikiUpdate ()
 Check that interwiki table exists; if it doesn't source it. More...
 
 doIwlinksIndexNonUnique ()
 
 doLangLinksLengthUpdate ()
 
 doMaybeProfilingMemoryUpdate ()
 
 doNamespaceSize ()
 
 doOldLinksUpdate ()
 
 doPagelinksUpdate ()
 
 doPageRandomUpdate ()
 Set page_random field to a random value where it is equals to 0. More...
 
 doPopulateParentId ()
 
 doRestrictionsUpdate ()
 Adding page_restrictions table, obsoleting page.page_restrictions. More...
 
 doTemplatelinksUpdate ()
 
 doUniquePlTlIl ()
 
 doUpdateMimeMinorField ()
 
 doUserGroupsUpdate ()
 
 doUserNewTalkTimestampNotNull ()
 
 doUserUniqueUpdate ()
 
 doWatchlistNull ()
 Make sure wl_notificationtimestamp can be NULL, and update old broken items. More...
 
 getCoreUpdateList ()
 Get an array of updates to perform on the database. More...
 
 indexHasField ( $table, $index, $field)
 Check whether an index contain a field. More...
 
- Protected Member Functions inherited from DatabaseUpdater
 __construct (DatabaseBase &$db, $shared, Maintenance $maintenance=null)
 Constructor. More...
 
 addField ( $table, $field, $patch, $fullpath=false)
 Add a new field to an existing table. More...
 
 addIndex ( $table, $index, $patch, $fullpath=false)
 Add a new index to an existing table. More...
 
 addTable ( $name, $patch, $fullpath=false)
 Add a new table to the database. More...
 
 applyPatch ( $path, $isFullPath=false, $msg=null)
 Applies a SQL patch. More...
 
 canUseNewUpdatelog ()
 Updatelog was changed in 1.17 to have a ul_value column so we can record more information about what kind of updates we've done (that's what this class does). More...
 
 checkStats ()
 Check the site_stats table is not properly populated. More...
 
 disableContentHandlerUseDB ()
 Turns off content handler fields during parts of the upgrade where they aren't available. More...
 
 doActiveUsersInit ()
 Sets the number of active users in the site_stats table. More...
 
 doCollationUpdate ()
 Update CategoryLinks collation. More...
 
 doLogSearchPopulation ()
 Migrate log params to new table and index for searching. More...
 
 doLogUsertextPopulation ()
 Populates the log_user_text field in the logging table. More...
 
 doMigrateUserOptions ()
 Migrates user options from the user table blob to user_properties. More...
 
 doTable ( $name)
 Returns whether updates should be executed on the database table $name. More...
 
 doUpdateTranscacheField ()
 Updates the timestamps in the transcache table. More...
 
 dropField ( $table, $field, $patch, $fullpath=false)
 Drop a field from an existing table. More...
 
 dropIndex ( $table, $index, $patch, $fullpath=false)
 Drop an index from an existing table. More...
 
 enableContentHandlerUseDB ()
 Turns content handler fields back on. More...
 
 getExtensionUpdates ()
 Get the list of extension-defined updates. More...
 
 getOldGlobalUpdates ()
 Before 1.17, we used to handle updates via stuff like $wgExtNewTables/Fields/Indexes. More...
 
 rebuildLocalisationCache ()
 Rebuilds the localisation cache. More...
 
 renameIndex ( $table, $oldIndex, $newIndex, $skipBothIndexExistWarning, $patch, $fullpath=false)
 Rename an index from an existing table. More...
 
 setAppliedUpdates ( $version, $updates=array())
 

Additional Inherited Members

- Static Public Member Functions inherited from DatabaseUpdater
static newForDB (&$db, $shared=false, $maintenance=null)
 
- Protected Attributes inherited from DatabaseUpdater
DatabaseBase $db
 Handle to the database subclass. More...
 
array $extensionUpdates = array()
 List of extension-provided database updates. More...
 
resource $fileHandle = null
 File handle for SQL output. More...
 
 $holdContentHandlerUseDB = true
 Hold the value of $wgContentHandlerUseDB during the upgrade. More...
 
 $postDatabaseUpdateMaintenance
 Scripts to run after database update Should be a subclass of LoggedUpdateMaintenance. More...
 
 $shared = false
 
bool $skipSchema = false
 Flag specifying whether or not to skip schema (e.g. More...
 
array $updates = array()
 Array of updates to perform on the database. More...
 
array $updatesSkipped = array()
 Array of updates that were skipped. More...
 

Detailed Description

Mysql update list and mysql-specific update functions.

Since
1.17

Definition at line 30 of file MysqlUpdater.php.

Member Function Documentation

◆ checkBin()

MysqlUpdater::checkBin (   $table,
  $field,
  $patchFile 
)
protected

1.4 betas were missing the 'binary' marker from logging.log_title, which causes a collation mismatch error on joins in MySQL 4.1.

Parameters
string$tableTable name
string$fieldField name to check
string$patchFilePath to the patch to correct the field
Returns
bool

Definition at line 265 of file MysqlUpdater.php.

References DatabaseUpdater\applyPatch(), DatabaseUpdater\doTable(), and DatabaseUpdater\output().

◆ doBacklinkingIndicesUpdate()

MysqlUpdater::doBacklinkingIndicesUpdate ( )
protected

Definition at line 839 of file MysqlUpdater.php.

References DatabaseUpdater\applyPatch(), and indexHasField().

◆ doCategorylinksIndicesUpdate()

MysqlUpdater::doCategorylinksIndicesUpdate ( )
protected

Definition at line 877 of file MysqlUpdater.php.

References DatabaseUpdater\applyPatch(), and indexHasField().

◆ doCategoryPopulation()

MysqlUpdater::doCategoryPopulation ( )
protected

◆ doClFieldsUpdate()

MysqlUpdater::doClFieldsUpdate ( )
protected

◆ doEnableProfiling()

MysqlUpdater::doEnableProfiling ( )
protected

Definition at line 913 of file MysqlUpdater.php.

References DatabaseUpdater\applyPatch(), DatabaseUpdater\doTable(), and global.

◆ doFilearchiveIndicesUpdate()

MysqlUpdater::doFilearchiveIndicesUpdate ( )
protected

Definition at line 945 of file MysqlUpdater.php.

References DatabaseUpdater\applyPatch().

◆ doFixAncientImagelinks()

MysqlUpdater::doFixAncientImagelinks ( )
protected

Definition at line 353 of file MysqlUpdater.php.

References DatabaseUpdater\applyPatch(), and DatabaseUpdater\output().

◆ doIndexUpdate()

MysqlUpdater::doIndexUpdate ( )
protected

Check that proper indexes are in place.

Definition at line 334 of file MysqlUpdater.php.

References DatabaseUpdater\applyPatch(), and DatabaseUpdater\output().

◆ doInterwikiUpdate()

MysqlUpdater::doInterwikiUpdate ( )
protected

Check that interwiki table exists; if it doesn't source it.

Definition at line 310 of file MysqlUpdater.php.

References $IP, DatabaseUpdater\applyPatch(), DatabaseUpdater\doTable(), global, and DatabaseUpdater\output().

◆ doIwlinksIndexNonUnique()

MysqlUpdater::doIwlinksIndexNonUnique ( )
protected

Definition at line 1041 of file MysqlUpdater.php.

References DatabaseUpdater\applyPatch(), and DatabaseUpdater\output().

◆ doLangLinksLengthUpdate()

MysqlUpdater::doLangLinksLengthUpdate ( )
protected

Definition at line 1003 of file MysqlUpdater.php.

References $res, DatabaseUpdater\applyPatch(), and DatabaseUpdater\output().

◆ doMaybeProfilingMemoryUpdate()

MysqlUpdater::doMaybeProfilingMemoryUpdate ( )
protected

◆ doNamespaceSize()

MysqlUpdater::doNamespaceSize ( )
protected

Definition at line 606 of file MysqlUpdater.php.

References $tables, array(), as, and DatabaseUpdater\output().

◆ doOldLinksUpdate()

MysqlUpdater::doOldLinksUpdate ( )
protected

Definition at line 348 of file MysqlUpdater.php.

◆ doPagelinksUpdate()

MysqlUpdater::doPagelinksUpdate ( )
protected

◆ doPageRandomUpdate()

MysqlUpdater::doPageRandomUpdate ( )
protected

Set page_random field to a random value where it is equals to 0.

See also
bug 3946

Definition at line 783 of file MysqlUpdater.php.

References DatabaseUpdater\output().

◆ doPopulateParentId()

MysqlUpdater::doPopulateParentId ( )
protected

◆ doRestrictionsUpdate()

MysqlUpdater::doRestrictionsUpdate ( )
protected

Adding page_restrictions table, obsoleting page.page_restrictions.

Migrating old restrictions to new table – Andrew Garrett, January 2007.

Definition at line 853 of file MysqlUpdater.php.

References DatabaseUpdater\applyPatch(), and DatabaseUpdater\output().

◆ doSchemaRestructuring()

MysqlUpdater::doSchemaRestructuring ( )

Definition at line 410 of file MysqlUpdater.php.

References $t, $titles, array(), as, global, list, DatabaseUpdater\output(), TS_DB, and wfTimestamp().

◆ doTemplatelinksUpdate()

MysqlUpdater::doTemplatelinksUpdate ( )
protected

◆ doUniquePlTlIl()

MysqlUpdater::doUniquePlTlIl ( )
protected

Definition at line 954 of file MysqlUpdater.php.

References DatabaseUpdater\applyPatch(), and DatabaseUpdater\output().

◆ doUpdateMimeMinorField()

MysqlUpdater::doUpdateMimeMinorField ( )
protected

◆ doUserGroupsUpdate()

MysqlUpdater::doUserGroupsUpdate ( )
protected

◆ doUserNewTalkTimestampNotNull()

MysqlUpdater::doUserNewTalkTimestampNotNull ( )
protected

◆ doUserUniqueUpdate()

MysqlUpdater::doUserUniqueUpdate ( )
protected

◆ doWatchlistNull()

MysqlUpdater::doWatchlistNull ( )
protected

Make sure wl_notificationtimestamp can be NULL, and update old broken items.

Definition at line 760 of file MysqlUpdater.php.

References DatabaseUpdater\applyPatch(), and DatabaseUpdater\output().

◆ doWatchlistUpdate()

MysqlUpdater::doWatchlistUpdate ( )

Check if we need to add talk page rows to the watchlist.

Definition at line 375 of file MysqlUpdater.php.

References array(), and DatabaseUpdater\output().

◆ getCoreUpdateList()

MysqlUpdater::getCoreUpdateList ( )
protected

Get an array of updates to perform on the database.

Should return a multi-dimensional array. The main key is the MediaWiki version (1.12, 1.13...) with the values being arrays of updates, identical to how updaters.inc did it (for now)

Returns
array

Reimplemented from DatabaseUpdater.

Definition at line 31 of file MysqlUpdater.php.

References array(), and from.

◆ indexHasField()

MysqlUpdater::indexHasField (   $table,
  $index,
  $field 
)
protected

Check whether an index contain a field.

Parameters
string$tableTable name
string$indexIndex name to check
string$fieldField that should be in the index
Returns
bool

Definition at line 287 of file MysqlUpdater.php.

References as, DatabaseUpdater\doTable(), and DatabaseUpdater\output().

Referenced by doBacklinkingIndicesUpdate(), and doCategorylinksIndicesUpdate().


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