Added change_tag, tag_summary and valid_tag for the SQLite updater and made the patch...
authorAlexandre Emsenhuber <ialex@users.mediawiki.org>
Thu, 19 Feb 2009 12:38:32 +0000 (12:38 +0000)
committerAlexandre Emsenhuber <ialex@users.mediawiki.org>
Thu, 19 Feb 2009 12:38:32 +0000 (12:38 +0000)
maintenance/archives/patch-change_tag.sql
maintenance/updaters.inc

index 8fd4aec..030e086 100644 (file)
@@ -5,27 +5,28 @@ CREATE TABLE /*_*/change_tag (
        ct_log_id int NULL,
        ct_rev_id int NULL,
        ct_tag varchar(255) NOT NULL,
-       ct_params BLOB NULL,
-
-       UNIQUE KEY (ct_rc_id,ct_tag),
-       UNIQUE KEY (ct_log_id,ct_tag),
-       UNIQUE KEY (ct_rev_id,ct_tag),
-       KEY (ct_tag,ct_rc_id,ct_rev_id,ct_log_id) -- Covering index, so we can pull all the info only out of the index.
+       ct_params BLOB NULL
 ) /*$wgDBTableOptions*/;
 
+CREATE UNIQUE INDEX /*i*/change_tag_rc_tag ON /*_*/change_tag (ct_rc_id,ct_tag);
+CREATE UNIQUE INDEX /*i*/change_tag_log_tag ON /*_*/change_tag (ct_log_id,ct_tag);
+CREATE UNIQUE INDEX /*i*/change_tag_rev_tag ON /*_*/change_tag (ct_rev_id,ct_tag);
+-- Covering index, so we can pull all the info only out of the index.
+CREATE INDEX /*i*/change_tag_tag_id ON /*_*/change_tag (ct_tag,ct_rc_id,ct_rev_id,ct_log_id);
+
 -- Rollup table to pull a LIST of tags simply without ugly GROUP_CONCAT that only works on MySQL 4.1+
 CREATE TABLE /*_*/tag_summary (
        ts_rc_id int NULL,
        ts_log_id int NULL,
        ts_rev_id int NULL,
-       ts_tags BLOB NOT NULL,
-
-       UNIQUE KEY (ts_rc_id),
-       UNIQUE KEY (ts_log_id),
-       UNIQUE KEY (ts_rev_id)
+       ts_tags BLOB NOT NULL
 ) /*$wgDBTableOptions*/;
 
+CREATE UNIQUE INDEX /*i*/tag_summary_rc_id ON /*_*/tag_summary (ts_rc_id);
+CREATE UNIQUE INDEX /*i*/tag_summary_log_id ON /*_*/tag_summary (ts_log_id);
+CREATE UNIQUE INDEX /*i*/tag_summary_rev_id ON /*_*/tag_summary (ts_rev_id);
+
+
 CREATE TABLE /*_*/valid_tag (
-       vt_tag varchar(255) NOT NULL,
-       PRIMARY KEY (vt_tag)
+       vt_tag varchar(255) NOT NULL PRIMARY KEY
 ) /*$wgDBTableOptions*/;
index 99580b8..2f75568 100644 (file)
@@ -163,6 +163,11 @@ $wgUpdates = array(
                array( 'do_active_users_init' ),
                array( 'add_field', 'ipblocks',     'ipb_allow_usertalk',  'patch-ipb_allow_usertalk.sql' ),
                array( 'sqlite_initial_indexes' ),
+
+               // 1.15
+               array( 'add_table', 'change_tag',                          'patch-change_tag.sql' ),
+               array( 'add_table', 'tag_summary',                         'patch-change_tag.sql' ),
+               array( 'add_table', 'valid_tag',                           'patch-change_tag.sql' ),
        ),
 );