Drop tag_summary and valid_tag tables

Bug: T209525
Change-Id: I153607239145a772f5ea47eefd3340096a494b4b
This commit is contained in:
Amir Sarabadani 2018-12-12 20:20:42 +01:00 committed by Reedy
parent 103581ec75
commit 2ce92e90a7
18 changed files with 11 additions and 143 deletions

View file

@ -95,7 +95,6 @@ class MssqlUpdater extends DatabaseUpdater {
[ 'addIndex', 'recentchanges', 'rc_name_type_patrolled_timestamp',
'patch-add-rc_name_type_patrolled_timestamp_index.sql' ],
[ 'addField', 'change_tag', 'ct_id', 'patch-change_tag-ct_id.sql' ],
[ 'addField', 'tag_summary', 'ts_id', 'patch-tag_summary-ts_id.sql' ],
// 1.29
[ 'addField', 'externallinks', 'el_index_60', 'patch-externallinks-el_index_60.sql' ],
@ -155,6 +154,8 @@ class MssqlUpdater extends DatabaseUpdater {
// 1.33
[ 'dropField', 'change_tag', 'ct_tag', 'patch-drop-ct_tag.sql' ],
[ 'dropTable', 'valid_tag' ],
[ 'dropTable', 'tag_summary' ],
];
}

View file

@ -159,7 +159,6 @@ class MysqlUpdater extends DatabaseUpdater {
// 1.15
[ 'addTable', 'change_tag', 'patch-change_tag.sql' ],
[ 'addTable', 'tag_summary', 'patch-tag_summary.sql' ],
[ 'addTable', 'valid_tag', 'patch-valid_tag.sql' ],
// 1.16
[ 'addTable', 'user_properties', 'patch-user_properties.sql' ],
@ -169,7 +168,7 @@ class MysqlUpdater extends DatabaseUpdater {
[ 'doLogUsertextPopulation' ],
[ 'doLogSearchPopulation' ],
[ 'addTable', 'l10n_cache', 'patch-l10n_cache.sql' ],
[ 'addIndex', 'tag_summary', 'tag_summary_rc_id', 'patch-change_tag-indexes.sql' ],
[ 'dropIndex', 'change_tag', 'ct_rc_id', 'patch-change_tag-indexes.sql' ],
[ 'addField', 'redirect', 'rd_interwiki', 'patch-rd_interwiki.sql' ],
[ 'doUpdateMimeMinorField' ],
@ -288,7 +287,6 @@ class MysqlUpdater extends DatabaseUpdater {
[ 'doRevisionPageRevIndexNonUnique' ],
[ 'doNonUniquePlTlIl' ],
[ 'addField', 'change_tag', 'ct_id', 'patch-change_tag-ct_id.sql' ],
[ 'addField', 'tag_summary', 'ts_id', 'patch-tag_summary-ts_id.sql' ],
[ 'modifyField', 'recentchanges', 'rc_ip', 'patch-rc_ip_modify.sql' ],
[ 'addIndex', 'archive', 'usertext_timestamp', 'patch-rename-ar_usertext_timestamp.sql' ],
@ -375,6 +373,8 @@ class MysqlUpdater extends DatabaseUpdater {
// 1,33
[ 'dropField', 'change_tag', 'ct_tag', 'patch-drop-ct_tag.sql' ],
[ 'dropTable', 'valid_tag' ],
[ 'dropTable', 'tag_summary' ],
];
}
@ -1179,8 +1179,6 @@ class MysqlUpdater extends DatabaseUpdater {
[ 'table' => 'change_tag', 'field' => 'ct_log_id' ],
[ 'table' => 'change_tag', 'field' => 'ct_rev_id' ],
[ 'table' => 'page_restrictions', 'field' => 'pr_user' ],
[ 'table' => 'tag_summary', 'field' => 'ts_log_id' ],
[ 'table' => 'tag_summary', 'field' => 'ts_rev_id' ],
[ 'table' => 'user_newtalk', 'field' => 'user_id' ],
[ 'table' => 'user_properties', 'field' => 'up_user' ],
];

View file

@ -117,7 +117,6 @@ class OracleUpdater extends DatabaseUpdater {
[ 'addIndex', 'recentchanges', 'rc_name_type_patrolled_timestamp',
'patch-add-rc_name_type_patrolled_timestamp_index.sql' ],
[ 'addField', 'change_tag', 'ct_id', 'patch-change_tag-ct_id.sql' ],
[ 'addField', 'tag_summary', 'ts_id', 'patch-tag_summary-ts_id.sql' ],
// 1.29
[ 'addField', 'externallinks', 'el_index_60', 'patch-externallinks-el_index_60.sql' ],
@ -166,6 +165,8 @@ class OracleUpdater extends DatabaseUpdater {
// 1.33
[ 'dropField', 'change_tag', 'ct_tag', 'patch-drop-ct_tag.sql' ],
[ 'dropTable', 'valid_tag' ],
[ 'dropTable', 'tag_summary' ],
// KEEP THIS AT THE BOTTOM!!
[ 'doRebuildDuplicateFunction' ],

View file

@ -85,7 +85,6 @@ class PostgresUpdater extends DatabaseUpdater {
[ 'addTable', 'updatelog', 'patch-updatelog.sql' ],
[ 'addTable', 'change_tag', 'patch-change_tag.sql' ],
[ 'addTable', 'tag_summary', 'patch-tag_summary.sql' ],
[ 'addTable', 'valid_tag', 'patch-valid_tag.sql' ],
[ 'addTable', 'user_properties', 'patch-user_properties.sql' ],
[ 'addTable', 'log_search', 'patch-log_search.sql' ],
[ 'addTable', 'l10n_cache', 'patch-l10n_cache.sql' ],
@ -604,6 +603,8 @@ class PostgresUpdater extends DatabaseUpdater {
// 1.33
[ 'dropField', 'change_tag', 'ct_tag', 'patch-drop-ct_tag.sql' ],
[ 'dropTable', 'valid_tag' ],
[ 'dropTable', 'tag_summary' ],
];
}

View file

@ -44,7 +44,6 @@ class SqliteUpdater extends DatabaseUpdater {
// 1.15
[ 'addTable', 'change_tag', 'patch-change_tag.sql' ],
[ 'addTable', 'tag_summary', 'patch-tag_summary.sql' ],
[ 'addTable', 'valid_tag', 'patch-valid_tag.sql' ],
// 1.16
[ 'addTable', 'user_properties', 'patch-user_properties.sql' ],
@ -157,7 +156,6 @@ class SqliteUpdater extends DatabaseUpdater {
[ 'addIndex', 'recentchanges', 'rc_name_type_patrolled_timestamp',
'patch-add-rc_name_type_patrolled_timestamp_index.sql' ],
[ 'addField', 'change_tag', 'ct_id', 'patch-change_tag-ct_id.sql' ],
[ 'addField', 'tag_summary', 'ts_id', 'patch-tag_summary-ts_id.sql' ],
// 1.29
[ 'addField', 'externallinks', 'el_index_60', 'patch-externallinks-el_index_60.sql' ],
@ -242,6 +240,8 @@ class SqliteUpdater extends DatabaseUpdater {
// 1.33
[ 'dropField', 'change_tag', 'ct_tag', 'patch-drop-ct_tag.sql' ],
[ 'dropTable', 'valid_tag' ],
[ 'dropTable', 'tag_summary' ],
];
}

View file

@ -7,15 +7,7 @@ DROP INDEX ct_log_id ON /*_*/change_tag;
DROP INDEX ct_rev_id ON /*_*/change_tag;
DROP INDEX ct_tag ON /*_*/change_tag;
DROP INDEX ts_rc_id ON /*_*/tag_summary;
DROP INDEX ts_log_id ON /*_*/tag_summary;
DROP INDEX ts_rev_id ON /*_*/tag_summary;
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);
CREATE INDEX /*i*/change_tag_tag_id ON /*_*/change_tag (ct_tag,ct_rc_id,ct_rev_id,ct_log_id);
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);

View file

@ -1,5 +0,0 @@
-- Primary key in tag_summary table
ALTER TABLE /*$wgDBprefix*/tag_summary
ADD COLUMN ts_id INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST,
ADD PRIMARY KEY (ts_id);

View file

@ -1 +0,0 @@
ALTER TABLE /*_*/tag_summary MODIFY ts_log_id int unsigned NULL;

View file

@ -1 +0,0 @@
ALTER TABLE /*_*/tag_summary MODIFY ts_rev_id int unsigned NULL;

View file

@ -1,4 +0,0 @@
-- Andrew Garrett, 2009-01
CREATE TABLE /*_*/valid_tag (
vt_tag varchar(255) NOT NULL PRIMARY KEY
) /*$wgDBTableOptions*/;

View file

@ -1,4 +0,0 @@
-- Primary key in tag_summary table
ALTER TABLE /*_*/tag_summary ADD ts_id INT IDENTITY;
ALTER TABLE /*_*/tag_summary ADD CONSTRAINT pk_tag_summary PRIMARY KEY(ts_id)

View file

@ -1411,29 +1411,6 @@ CREATE UNIQUE INDEX /*i*/change_tag_rev_tag_id ON /*_*/change_tag (ct_rev_id,ct_
-- Covering index, so we can pull all the info only out of the index.
CREATE INDEX /*i*/change_tag_tag_id_id ON /*_*/change_tag (ct_tag_id,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_id int NOT NULL PRIMARY KEY IDENTITY,
-- RCID for the change
ts_rc_id int NULL REFERENCES /*_*/recentchanges(rc_id),
-- LOGID for the change
ts_log_id int NULL REFERENCES /*_*/logging(log_id),
-- REVID for the change
ts_rev_id int NULL REFERENCES /*_*/revision(rev_id),
-- Comma-separated list of tags
ts_tags nvarchar(max) NOT NULL
);
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 nvarchar(255) NOT NULL PRIMARY KEY
);
-- Table for storing localisation data
CREATE TABLE /*_*/l10n_cache (
-- Language code

View file

@ -946,23 +946,6 @@ CREATE UNIQUE INDEX &mw_prefix.change_tag_u06 ON &mw_prefix.change_tag (ct_rev_i
CREATE INDEX &mw_prefix.change_tag_i02 ON &mw_prefix.change_tag (ct_tag_id,ct_rc_id,ct_rev_id,ct_log_id);
CREATE TABLE &mw_prefix.tag_summary (
ts_id NUMBER NOT NULL,
ts_rc_id NUMBER NULL,
ts_log_id NUMBER NULL,
ts_rev_id NUMBER NULL,
ts_tags BLOB NOT NULL
);
ALTER TABLE &mw_prefix.tag_summary ADD CONSTRAINT &mw_prefix.tag_summary_pk PRIMARY KEY (ts_id);
CREATE UNIQUE INDEX &mw_prefix.tag_summary_u01 ON &mw_prefix.tag_summary (ts_rc_id);
CREATE UNIQUE INDEX &mw_prefix.tag_summary_u02 ON &mw_prefix.tag_summary (ts_log_id);
CREATE UNIQUE INDEX &mw_prefix.tag_summary_u03 ON &mw_prefix.tag_summary (ts_rev_id);
CREATE TABLE &mw_prefix.valid_tag (
vt_tag VARCHAR2(255) NOT NULL
);
ALTER TABLE &mw_prefix.valid_tag ADD CONSTRAINT &mw_prefix.valid_tag_pk PRIMARY KEY (vt_tag);
-- This table is not used unless profiling is turned on
--CREATE TABLE &mw_prefix.profiling (
-- pf_count NUMBER DEFAULT 0 NOT NULL,

View file

@ -1,3 +0,0 @@
CREATE TABLE valid_tag (
vt_tag TEXT NOT NULL PRIMARY KEY
);

View file

@ -812,23 +812,6 @@ CREATE UNIQUE INDEX change_tag_rev_tag_id ON change_tag(ct_rev_id,ct_tag_id);
CREATE INDEX change_tag_tag_id_id ON change_tag(ct_tag_id,ct_rc_id,ct_rev_id,ct_log_id);
CREATE SEQUENCE tag_summary_ts_id_seq;
CREATE TABLE tag_summary (
ts_id INTEGER NOT NULL PRIMARY KEY DEFAULT nextval('tag_summary_ts_id_seq'),
ts_rc_id INTEGER NULL,
ts_log_id INTEGER NULL,
ts_rev_id INTEGER NULL,
ts_tags TEXT NOT NULL
);
ALTER SEQUENCE tag_summary_ts_id_seq OWNED BY tag_summary.ts_id;
CREATE UNIQUE INDEX tag_summary_rc_id ON tag_summary(ts_rc_id);
CREATE UNIQUE INDEX tag_summary_log_id ON tag_summary(ts_log_id);
CREATE UNIQUE INDEX tag_summary_rev_id ON tag_summary(ts_rev_id);
CREATE TABLE valid_tag (
vt_tag TEXT NOT NULL PRIMARY KEY
);
CREATE TABLE user_properties (
up_user INTEGER NULL REFERENCES mwuser(user_id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED,
up_property TEXT NOT NULL,

View file

@ -1,23 +0,0 @@
DROP TABLE IF EXISTS /*_*/tag_summary_tmp;
CREATE TABLE /*$wgDBprefix*/tag_summary_tmp (
ts_id int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT,
ts_rc_id int NULL,
ts_log_id int NULL,
ts_rev_id int NULL,
ts_tags blob NOT NULL
);
INSERT OR IGNORE INTO /*_*/tag_summary_tmp (
ts_rc_id, ts_log_id, ts_rev_id, ts_tags )
SELECT
ts_rc_id, ts_log_id, ts_rev_id, ts_tags
FROM /*_*/tag_summary;
DROP TABLE /*_*/tag_summary;
ALTER TABLE /*_*/tag_summary_tmp RENAME TO /*_*/tag_summary;
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);

View file

@ -1859,28 +1859,6 @@ CREATE UNIQUE INDEX /*i*/change_tag_rev_tag_id ON /*_*/change_tag (ct_rev_id,ct_
-- Covering index, so we can pull all the info only out of the index.
CREATE INDEX /*i*/change_tag_tag_id_id ON /*_*/change_tag (ct_tag_id,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_id int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT,
-- RCID for the change
ts_rc_id int NULL,
-- LOGID for the change
ts_log_id int unsigned NULL,
-- REVID for the change
ts_rev_id int unsigned NULL,
-- Comma-separated list of tags
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
) /*$wgDBTableOptions*/;
-- Table for storing localisation data
CREATE TABLE /*_*/l10n_cache (

View file

@ -13,8 +13,6 @@ class ChangeTagsTest extends MediaWikiTestCase {
$this->tablesUsed[] = 'change_tag';
$this->tablesUsed[] = 'change_tag_def';
$this->tablesUsed[] = 'tag_summary';
$this->tablesUsed[] = 'valid_tag';
// Truncate these to avoid the supposed-to-be-unused IDs in tests here turning
// out to be used, leading ChangeTags::updateTags() to pick up bogus rc_id,
@ -569,7 +567,6 @@ class ChangeTagsTest extends MediaWikiTestCase {
$dbw = wfGetDB( DB_MASTER );
$dbw->delete( 'change_tag', '*' );
$dbw->delete( 'change_tag_def', '*' );
$dbw->delete( 'valid_tag', '*' );
$rcId = 123;
ChangeTags::updateTags( [ 'tag1', 'tag2' ], [], $rcId );
@ -590,7 +587,5 @@ class ChangeTagsTest extends MediaWikiTestCase {
];
$res = $dbr->select( 'change_tag_def', [ 'ctd_name', 'ctd_user_defined' ], '' );
$this->assertEquals( $expected, iterator_to_array( $res, false ) );
$this->assertEquals( [], $dbr->selectFieldValues( 'valid_tag', 'vt_tag', '' ) );
}
}