From b66845404076b2d08924501aff33ed51a62081e9 Mon Sep 17 00:00:00 2001 From: Alexandre Emsenhuber Date: Thu, 19 Feb 2009 12:38:32 +0000 Subject: [PATCH] Added change_tag, tag_summary and valid_tag for the SQLite updater and made the patch work with SQLite --- maintenance/archives/patch-change_tag.sql | 27 ++++++++++++----------- maintenance/updaters.inc | 5 +++++ 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/maintenance/archives/patch-change_tag.sql b/maintenance/archives/patch-change_tag.sql index 8fd4aeca6e..030e086b47 100644 --- a/maintenance/archives/patch-change_tag.sql +++ b/maintenance/archives/patch-change_tag.sql @@ -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*/; diff --git a/maintenance/updaters.inc b/maintenance/updaters.inc index 99580b810c..2f75568d75 100644 --- a/maintenance/updaters.inc +++ b/maintenance/updaters.inc @@ -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' ), ), ); -- 2.20.1