From a48809a9f17e8ae917680a874261c03008ee53bc Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Mon, 14 Mar 2005 02:59:23 +0000 Subject: [PATCH] Add updater to remove inverse_timestamp and fix indexes on revision table --- maintenance/archives/patch-inverse_timestamp.sql | 15 +++++++++++++++ maintenance/updaters.inc | 13 +++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 maintenance/archives/patch-inverse_timestamp.sql diff --git a/maintenance/archives/patch-inverse_timestamp.sql b/maintenance/archives/patch-inverse_timestamp.sql new file mode 100644 index 0000000000..0f7d66f13c --- /dev/null +++ b/maintenance/archives/patch-inverse_timestamp.sql @@ -0,0 +1,15 @@ +-- Removes the inverse_timestamp field from early 1.5 alphas. +-- This field was used in the olden days as a crutch for sorting +-- limitations in MySQL 3.x, but is being dropped now as an +-- unnecessary burden. Serious wikis should be running on 4.x. +-- +-- Updater added 2005-03-13 + +ALTER TABLE /*$wgDBprefix*/revision + DROP COLUMN inverse_timestamp, + DROP INDEX page_timestamp, + DROP INDEX user_timestamp, + DROP INDEX usertext_timestamp, + ADD INDEX page_timestamp (rev_page,rev_timestamp), + ADD INDEX user_timestamp (rev_user,rev_timestamp), + ADD INDEX usertext_timestamp (rev_user_text,rev_timestamp); diff --git a/maintenance/updaters.inc b/maintenance/updaters.inc index 1e6319e9e6..a8aab81a0a 100644 --- a/maintenance/updaters.inc +++ b/maintenance/updaters.inc @@ -407,6 +407,18 @@ function do_schema_restructuring() { } } +function do_inverse_timestamp() { + global $wgDatabase; + $fname="do_schema_restructuring"; + if( $wgDatabase->fieldExists( 'revision', 'inverse_timestamp' ) ) { + echo "Removing revision.inverse_timestamp and fixing indexes... "; + dbsource( 'maintenance/archives/patch-inverse_timestamp.sql', $wgDatabase ); + echo "ok\n"; + } else { + echo "revision timestamp indexes already up to 2005-03-13\n"; + } +} + function do_all_updates() { global $wgNewTables, $wgNewFields; @@ -437,6 +449,7 @@ function do_all_updates() { do_logging_encoding(); flush(); do_schema_restructuring(); flush(); + do_inverse_timestamp(); flush(); initialiseMessages(); flush(); } -- 2.20.1