From: Amir Sarabadani Date: Wed, 12 Dec 2018 19:20:42 +0000 (+0100) Subject: Drop tag_summary and valid_tag tables X-Git-Tag: 1.34.0-rc.0~3224 X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=commitdiff_plain;h=2ce92e90a749d8a738b3d1b038d848ce3a647017 Drop tag_summary and valid_tag tables Bug: T209525 Change-Id: I153607239145a772f5ea47eefd3340096a494b4b --- diff --git a/includes/installer/MssqlUpdater.php b/includes/installer/MssqlUpdater.php index db4cbdf39f..2f1c0f3039 100644 --- a/includes/installer/MssqlUpdater.php +++ b/includes/installer/MssqlUpdater.php @@ -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' ], ]; } diff --git a/includes/installer/MysqlUpdater.php b/includes/installer/MysqlUpdater.php index 532ccb03ae..bbcce65e58 100644 --- a/includes/installer/MysqlUpdater.php +++ b/includes/installer/MysqlUpdater.php @@ -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' ], ]; diff --git a/includes/installer/OracleUpdater.php b/includes/installer/OracleUpdater.php index 19c4cfe433..e9be744555 100644 --- a/includes/installer/OracleUpdater.php +++ b/includes/installer/OracleUpdater.php @@ -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' ], diff --git a/includes/installer/PostgresUpdater.php b/includes/installer/PostgresUpdater.php index 9ddc85a7b7..0967fa71db 100644 --- a/includes/installer/PostgresUpdater.php +++ b/includes/installer/PostgresUpdater.php @@ -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' ], ]; } diff --git a/includes/installer/SqliteUpdater.php b/includes/installer/SqliteUpdater.php index 2f39912c58..ef41773f42 100644 --- a/includes/installer/SqliteUpdater.php +++ b/includes/installer/SqliteUpdater.php @@ -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' ], ]; } diff --git a/maintenance/archives/patch-change_tag-indexes.sql b/maintenance/archives/patch-change_tag-indexes.sql index 9f8d8f8044..9c7bc0086e 100644 --- a/maintenance/archives/patch-change_tag-indexes.sql +++ b/maintenance/archives/patch-change_tag-indexes.sql @@ -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); diff --git a/maintenance/archives/patch-tag_summary-ts_id.sql b/maintenance/archives/patch-tag_summary-ts_id.sql deleted file mode 100644 index 66fa72e15a..0000000000 --- a/maintenance/archives/patch-tag_summary-ts_id.sql +++ /dev/null @@ -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); diff --git a/maintenance/archives/patch-tag_summary-ts_log_id-unsigned.sql b/maintenance/archives/patch-tag_summary-ts_log_id-unsigned.sql deleted file mode 100644 index 617073dbf2..0000000000 --- a/maintenance/archives/patch-tag_summary-ts_log_id-unsigned.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE /*_*/tag_summary MODIFY ts_log_id int unsigned NULL; \ No newline at end of file diff --git a/maintenance/archives/patch-tag_summary-ts_rev_id-unsigned.sql b/maintenance/archives/patch-tag_summary-ts_rev_id-unsigned.sql deleted file mode 100644 index e6a5bcde01..0000000000 --- a/maintenance/archives/patch-tag_summary-ts_rev_id-unsigned.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE /*_*/tag_summary MODIFY ts_rev_id int unsigned NULL; \ No newline at end of file diff --git a/maintenance/archives/patch-valid_tag.sql b/maintenance/archives/patch-valid_tag.sql deleted file mode 100644 index 994a5d53ee..0000000000 --- a/maintenance/archives/patch-valid_tag.sql +++ /dev/null @@ -1,4 +0,0 @@ --- Andrew Garrett, 2009-01 -CREATE TABLE /*_*/valid_tag ( - vt_tag varchar(255) NOT NULL PRIMARY KEY -) /*$wgDBTableOptions*/; diff --git a/maintenance/mssql/archives/patch-tag_summary-ts_id.sql b/maintenance/mssql/archives/patch-tag_summary-ts_id.sql deleted file mode 100644 index d62bd35779..0000000000 --- a/maintenance/mssql/archives/patch-tag_summary-ts_id.sql +++ /dev/null @@ -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) diff --git a/maintenance/mssql/tables.sql b/maintenance/mssql/tables.sql index fd2fae79ce..4ecc6db835 100644 --- a/maintenance/mssql/tables.sql +++ b/maintenance/mssql/tables.sql @@ -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 diff --git a/maintenance/oracle/tables.sql b/maintenance/oracle/tables.sql index 4c36fe13e8..2c20ffffd8 100644 --- a/maintenance/oracle/tables.sql +++ b/maintenance/oracle/tables.sql @@ -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, diff --git a/maintenance/postgres/archives/patch-valid_tag.sql b/maintenance/postgres/archives/patch-valid_tag.sql deleted file mode 100644 index 98575c6e99..0000000000 --- a/maintenance/postgres/archives/patch-valid_tag.sql +++ /dev/null @@ -1,3 +0,0 @@ -CREATE TABLE valid_tag ( - vt_tag TEXT NOT NULL PRIMARY KEY -); diff --git a/maintenance/postgres/tables.sql b/maintenance/postgres/tables.sql index 02d018cb22..8a0fa6dfb6 100644 --- a/maintenance/postgres/tables.sql +++ b/maintenance/postgres/tables.sql @@ -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, diff --git a/maintenance/sqlite/archives/patch-tag_summary-ts_id.sql b/maintenance/sqlite/archives/patch-tag_summary-ts_id.sql deleted file mode 100644 index b6a1202846..0000000000 --- a/maintenance/sqlite/archives/patch-tag_summary-ts_id.sql +++ /dev/null @@ -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); diff --git a/maintenance/tables.sql b/maintenance/tables.sql index 72db8c3063..83ba4e2f1b 100644 --- a/maintenance/tables.sql +++ b/maintenance/tables.sql @@ -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 ( diff --git a/tests/phpunit/includes/changetags/ChangeTagsTest.php b/tests/phpunit/includes/changetags/ChangeTagsTest.php index f1e82ffc78..f1ee99f6d4 100644 --- a/tests/phpunit/includes/changetags/ChangeTagsTest.php +++ b/tests/phpunit/includes/changetags/ChangeTagsTest.php @@ -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', '' ) ); } }