Rename site_identifiers indexes to have si_ prefix

Bug: T270033
Change-Id: I6751f0fd992054b61222ece55c83d05d24af9000
This commit is contained in:
Ammar Abdulhamid 2020-12-21 13:52:44 +01:00 committed by Ammarpad
parent 117982da96
commit dbd4dd19f8
11 changed files with 100 additions and 9 deletions

View file

@ -492,6 +492,8 @@ class MysqlUpdater extends DatabaseUpdater {
'patch-archive-rename-name_title_timestamp-index.sql' ],
[ 'modifyField', 'image', 'img_name', 'patch-image-img_name-varbinary.sql' ],
[ 'dropDefault', 'image', 'img_timestamp' ],
[ 'renameIndex', 'site_identifiers', 'site_ids_key', 'si_key', false,
'patch-site_identifiers-rename-indexes.sql' ],
];
}

View file

@ -961,6 +961,8 @@ class PostgresUpdater extends DatabaseUpdater {
[ 'renameIndex', 'image', 'img_timestamp_idx', 'img_timestamp' ],
[ 'addPgIndex', 'image', 'img_actor_timestamp', '(img_actor, img_timestamp)' ],
[ 'addPgIndex', 'image', 'img_media_mime', '(img_media_type, img_major_mime, img_minor_mime)' ],
[ 'renameIndex', 'site_identifiers', 'site_ids_site', 'si_site' ],
[ 'renameIndex', 'site_identifiers', 'site_ids_key', 'si_key' ],
];
}

View file

@ -331,6 +331,8 @@ class SqliteUpdater extends DatabaseUpdater {
[ 'renameIndex', 'archive', 'name_title_timestamp', 'ar_name_title_timestamp', false,
'patch-archive-rename-name_title_timestamp-index.sql' ],
[ 'modifyField', 'image', 'img_name', 'patch-image-img_name-varbinary.sql' ],
[ 'renameIndex', 'site_identifiers', 'site_ids_key', 'si_key', false,
'patch-site_identifiers-rename-indexes.sql' ],
];
}

View file

@ -0,0 +1,61 @@
{
"comment": "Rename indexes to have uniform si_ prefix with the columns (T270033)",
"before": {
"name": "site_identifiers",
"comment": "Links local site identifiers to their corresponding site.",
"columns": [
{
"name": "si_type",
"comment": "local key type, ie 'interwiki' or 'langlink'",
"type": "binary",
"options": { "length": 32, "notnull": true }
},
{
"name": "si_key",
"comment": "local key value, ie 'en' or 'wiktionary'",
"type": "binary",
"options": { "length": 32, "notnull": true }
},
{
"name": "si_site",
"comment": "Key on site.site_id",
"type": "integer",
"options": { "unsigned": true, "notnull": true }
}
],
"indexes": [
{ "name": "site_ids_site", "columns": [ "si_site" ], "unique": false },
{ "name": "site_ids_key", "columns": [ "si_key" ], "unique": false }
],
"pk": [ "si_type", "si_key" ]
},
"after": {
"name": "site_identifiers",
"comment": "Links local site identifiers to their corresponding site.",
"columns": [
{
"name": "si_type",
"comment": "local key type, ie 'interwiki' or 'langlink'",
"type": "binary",
"options": { "length": 32, "notnull": true }
},
{
"name": "si_key",
"comment": "local key value, ie 'en' or 'wiktionary'",
"type": "binary",
"options": { "length": 32, "notnull": true }
},
{
"name": "si_site",
"comment": "Key on site.site_id",
"type": "integer",
"options": { "unsigned": true, "notnull": true }
}
],
"indexes": [
{ "name": "si_site", "columns": [ "si_site" ], "unique": false },
{ "name": "si_key", "columns": [ "si_key" ], "unique": false }
],
"pk": [ "si_type", "si_key" ]
}
}

View file

@ -0,0 +1,8 @@
-- This file is automatically generated using maintenance/generateSchemaChangeSql.php.
-- Source: maintenance/abstractSchemaChanges/patch-site_identifiers-rename-indexes.json
-- Do not modify this file directly.
-- See https://www.mediawiki.org/wiki/Manual:Schema_changes
DROP INDEX site_ids_site ON /*_*/site_identifiers;
CREATE INDEX si_site ON /*_*/site_identifiers (si_site);
DROP INDEX site_ids_key ON /*_*/site_identifiers;
CREATE INDEX si_key ON /*_*/site_identifiers (si_key);

View file

@ -9,9 +9,9 @@ CREATE TABLE site_identifiers (
PRIMARY KEY(si_type, si_key)
);
CREATE INDEX site_ids_site ON site_identifiers (si_site);
CREATE INDEX si_site ON site_identifiers (si_site);
CREATE INDEX site_ids_key ON site_identifiers (si_key);
CREATE INDEX si_key ON site_identifiers (si_key);
CREATE TABLE updatelog (

View file

@ -0,0 +1,17 @@
-- This file is automatically generated using maintenance/generateSchemaChangeSql.php.
-- Source: maintenance/abstractSchemaChanges/patch-site_identifiers-rename-indexes.json
-- Do not modify this file directly.
-- See https://www.mediawiki.org/wiki/Manual:Schema_changes
DROP INDEX site_ids_site;
DROP INDEX site_ids_key;
CREATE TEMPORARY TABLE /*_*/__temp__site_identifiers AS
SELECT si_type, si_key, si_site
FROM /*_*/site_identifiers;
DROP TABLE /*_*/site_identifiers;
CREATE TABLE /*_*/site_identifiers ( si_type BLOB NOT NULL, si_key BLOB NOT NULL, si_site INTEGER UNSIGNED NOT NULL, PRIMARY KEY(si_type, si_key) );
INSERT INTO /*_*/site_identifiers (si_type, si_key, si_site)
SELECT si_type, si_key, si_site
FROM /*_*/__temp__site_identifiers;
DROP TABLE /*_*/__temp__site_identifiers;
CREATE INDEX si_site ON /*_*/site_identifiers (si_site);
CREATE INDEX si_key ON /*_*/site_identifiers (si_key);

View file

@ -9,9 +9,9 @@ CREATE TABLE /*_*/site_identifiers (
PRIMARY KEY(si_type, si_key)
);
CREATE INDEX site_ids_site ON /*_*/site_identifiers (si_site);
CREATE INDEX si_site ON /*_*/site_identifiers (si_site);
CREATE INDEX site_ids_key ON /*_*/site_identifiers (si_key);
CREATE INDEX si_key ON /*_*/site_identifiers (si_key);
CREATE TABLE /*_*/updatelog (

View file

@ -6,8 +6,8 @@ CREATE TABLE /*_*/site_identifiers (
si_type VARBINARY(32) NOT NULL,
si_key VARBINARY(32) NOT NULL,
si_site INT UNSIGNED NOT NULL,
INDEX site_ids_site (si_site),
INDEX site_ids_key (si_key),
INDEX si_site (si_site),
INDEX si_key (si_key),
PRIMARY KEY(si_type, si_key)
) /*$wgDBTableOptions*/;

View file

@ -23,8 +23,8 @@
}
],
"indexes": [
{ "name": "site_ids_site", "columns": [ "si_site" ], "unique": false },
{ "name": "site_ids_key", "columns": [ "si_key" ], "unique": false }
{ "name": "si_site", "columns": [ "si_site" ], "unique": false },
{ "name": "si_key", "columns": [ "si_key" ], "unique": false }
],
"pk": [ "si_type", "si_key" ]
},

View file

@ -32,7 +32,6 @@ class DatabaseIntegrationTest extends MediaWikiIntegrationTestCase {
'user_newtalk',
'revision_actor_temp',
'change_tag',
'site_identifiers',
'objectcache',
];