MediaWiki  1.23.1
OracleUpdater Class Reference

Class for handling updates to Oracle databases. More...

Inheritance diagram for OracleUpdater:
Collaboration diagram for OracleUpdater:

Public Member Functions

 doUpdates ( $what=array( 'core', 'extensions', 'purge', 'stats'))
 Overload: after this action field info table has to be rebuilt. More...
 
 purgeCache ()
 Overload: because of the DDL_MODE tablename escaping is a bit dodgy. 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...
 
 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...
 
 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

 doFKRenameDeferr ()
 Uniform FK names + deferrable state. More...
 
 doFunctions17 ()
 Recreate functions to 17 schema layout. More...
 
 doInsertPage0 ()
 Insert page (page_id = 0) to prevent FK constraint violation. More...
 
 doNamespaceDefaults ()
 MySQL uses datatype defaults for NULL inserted into NOT NULL fields In namespace case that results into insert of 0 which is default namespace Oracle inserts NULL, so namespace fields should have a default value. More...
 
 doPageRestrictionsPKUKFix ()
 Fixed wrong PK, UK definition. More...
 
 doRebuildDuplicateFunction ()
 rebuilding of the function that duplicates tables for tests More...
 
 doRecentchangesFK2Cascade ()
 Removed forcing of invalid state on recentchanges_fk2. More...
 
 doRemoveNotNullEmptyDefaults ()
 Remove DEFAULT '' NOT NULL constraints from fields as '' is internally converted to NULL in Oracle. More...
 
 doRemoveNotNullEmptyDefaults2 ()
 
 doSchemaUpgrade17 ()
 Schema upgrade 16->17 there are no incremental patches prior to this. More...
 
 getCoreUpdateList ()
 Get an array of updates to perform on the database. 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())
 

Protected Attributes

DatabaseOracle $db
 Handle to the database subclass. More...
 
- 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...
 

Additional Inherited Members

- Static Public Member Functions inherited from DatabaseUpdater
static newForDB (&$db, $shared=false, $maintenance=null)
 

Detailed Description

Class for handling updates to Oracle databases.

Since
1.17

Definition at line 30 of file OracleUpdater.php.

Member Function Documentation

◆ doFKRenameDeferr()

OracleUpdater::doFKRenameDeferr ( )
protected

Uniform FK names + deferrable state.

Definition at line 129 of file OracleUpdater.php.

References DatabaseUpdater\applyPatch().

◆ doFunctions17()

OracleUpdater::doFunctions17 ( )
protected

Recreate functions to 17 schema layout.

Definition at line 146 of file OracleUpdater.php.

References DatabaseUpdater\applyPatch().

◆ doInsertPage0()

OracleUpdater::doInsertPage0 ( )
protected

Insert page (page_id = 0) to prevent FK constraint violation.

Definition at line 165 of file OracleUpdater.php.

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

◆ doNamespaceDefaults()

OracleUpdater::doNamespaceDefaults ( )
protected

MySQL uses datatype defaults for NULL inserted into NOT NULL fields In namespace case that results into insert of 0 which is default namespace Oracle inserts NULL, so namespace fields should have a default value.

Definition at line 113 of file OracleUpdater.php.

References DatabaseUpdater\applyPatch().

◆ doPageRestrictionsPKUKFix()

OracleUpdater::doPageRestrictionsPKUKFix ( )
protected

Fixed wrong PK, UK definition.

Definition at line 233 of file OracleUpdater.php.

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

◆ doRebuildDuplicateFunction()

OracleUpdater::doRebuildDuplicateFunction ( )
protected

rebuilding of the function that duplicates tables for tests

Definition at line 256 of file OracleUpdater.php.

References DatabaseUpdater\applyPatch().

◆ doRecentchangesFK2Cascade()

OracleUpdater::doRecentchangesFK2Cascade ( )
protected

Removed forcing of invalid state on recentchanges_fk2.

cascading taken in account in the deleting function

Definition at line 215 of file OracleUpdater.php.

References DatabaseUpdater\applyPatch().

◆ doRemoveNotNullEmptyDefaults()

OracleUpdater::doRemoveNotNullEmptyDefaults ( )
protected

Remove DEFAULT '' NOT NULL constraints from fields as '' is internally converted to NULL in Oracle.

Definition at line 187 of file OracleUpdater.php.

References DatabaseUpdater\applyPatch().

◆ doRemoveNotNullEmptyDefaults2()

OracleUpdater::doRemoveNotNullEmptyDefaults2 ( )
protected

Definition at line 199 of file OracleUpdater.php.

References DatabaseUpdater\applyPatch().

◆ doSchemaUpgrade17()

OracleUpdater::doSchemaUpgrade17 ( )
protected

Schema upgrade 16->17 there are no incremental patches prior to this.

Definition at line 154 of file OracleUpdater.php.

References DatabaseUpdater\applyPatch().

◆ doUpdates()

OracleUpdater::doUpdates (   $what = array( 'core', 'extensions', 'purge', 'stats' ))

Overload: after this action field info table has to be rebuilt.

Parameters
$whatarray

Reimplemented from DatabaseUpdater.

Definition at line 265 of file OracleUpdater.php.

◆ getCoreUpdateList()

OracleUpdater::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 38 of file OracleUpdater.php.

References array().

◆ purgeCache()

OracleUpdater::purgeCache ( )

Overload: because of the DDL_MODE tablename escaping is a bit dodgy.

Reimplemented from DatabaseUpdater.

Definition at line 274 of file OracleUpdater.php.

References DatabaseUpdater\output().

Member Data Documentation

◆ $db

DatabaseOracle OracleUpdater::$db
protected

Handle to the database subclass.

Definition at line 36 of file OracleUpdater.php.


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