|
MediaWiki
master
|
Class for handling updates to Oracle databases. More...


Public Member Functions | |
| doUpdates ($what=[ '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... | |
| doUpdates ($what=[ '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... | |
| setFileAccess () | |
| Set any .htaccess files or equivilent for storage repos. 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 () | |
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... | |
| doEnableProfiling () | |
| Enable profiling table when it's turned on. 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... | |
| getCoreUpdateList () | |
| Get an array of updates to perform on the database. 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=[]) | |
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 = [] |
| 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... | |
| string[] | $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 of updates to perform on the database. More... | |
| array | $updatesSkipped = [] |
| Array of updates that were skipped. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from DatabaseUpdater | |
| static | newForDB (&$db, $shared=false, $maintenance=null) |
Static Protected Attributes inherited from DatabaseUpdater | |
| static | $updateCounter = 0 |
Class for handling updates to Oracle databases.
Definition at line 30 of file OracleUpdater.php.
|
protected |
Uniform FK names + deferrable state.
Definition at line 143 of file OracleUpdater.php.
References DatabaseUpdater\applyPatch().
|
protected |
Recreate functions to 17 schema layout.
Definition at line 160 of file OracleUpdater.php.
References DatabaseUpdater\applyPatch().
|
protected |
Insert page (page_id = 0) to prevent FK constraint violation.
Definition at line 179 of file OracleUpdater.php.
References DatabaseUpdater\output().
|
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 127 of file OracleUpdater.php.
References DatabaseUpdater\applyPatch().
|
protected |
Fixed wrong PK, UK definition.
Definition at line 246 of file OracleUpdater.php.
References DatabaseUpdater\applyPatch(), and DatabaseUpdater\output().
|
protected |
rebuilding of the function that duplicates tables for tests
Definition at line 269 of file OracleUpdater.php.
References DatabaseUpdater\applyPatch().
|
protected |
Removed forcing of invalid state on recentchanges_fk2.
cascading taken in account in the deleting function
Definition at line 228 of file OracleUpdater.php.
References DatabaseUpdater\applyPatch().
|
protected |
Remove DEFAULT '' NOT NULL constraints from fields as '' is internally converted to NULL in Oracle.
Definition at line 200 of file OracleUpdater.php.
References DatabaseUpdater\applyPatch().
|
protected |
Definition at line 212 of file OracleUpdater.php.
References DatabaseUpdater\applyPatch().
|
protected |
Schema upgrade 16->17 there are no incremental patches prior to this.
Definition at line 168 of file OracleUpdater.php.
References DatabaseUpdater\applyPatch().
| OracleUpdater::doUpdates | ( | $what = [ 'core', |
|
| 'extensions' | , | ||
| 'purge' | , | ||
| 'stats'] | |||
| ) |
Overload: after this action field info table has to be rebuilt.
| array | $what |
Definition at line 278 of file OracleUpdater.php.
|
protected |
Definition at line 39 of file OracleUpdater.php.
| OracleUpdater::purgeCache | ( | ) |
Overload: because of the DDL_MODE tablename escaping is a bit dodgy.
Definition at line 287 of file OracleUpdater.php.
References DatabaseUpdater\output().
|
protected |
Handle to the database subclass.
Definition at line 37 of file OracleUpdater.php.