Jackmcbarn has uploaded a new change for review.
https://gerrit.wikimedia.org/r/85508
Change subject: Add index on logging.log_user_text
......................................................................
Add index on logging.log_user_text
Fixing bug #54404 requires querying against logging.log_user_text, which
is currently unindexed. Add an index, to prevent performance from being
adversely affected by the fix.
Bug: 54432
Change-Id: I6b2af65c75bbee57377cb1ec2e75ea41a5091f80
---
M includes/installer/MysqlUpdater.php
M includes/installer/OracleUpdater.php
M includes/installer/PostgresUpdater.php
M includes/installer/SqliteUpdater.php
A maintenance/archives/patch-logging_user_text_index.sql
M maintenance/mssql/tables.sql
A maintenance/oracle/archives/patch-logging_user_text_index.sql
M maintenance/oracle/tables.sql
M maintenance/postgres/tables.sql
M maintenance/tables.sql
10 files changed, 15 insertions(+), 0 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core
refs/changes/08/85508/1
diff --git a/includes/installer/MysqlUpdater.php
b/includes/installer/MysqlUpdater.php
index 02faf7c..5baea4a 100644
--- a/includes/installer/MysqlUpdater.php
+++ b/includes/installer/MysqlUpdater.php
@@ -231,6 +231,7 @@
// 1.22
array( 'doIwlinksIndexNonUnique' ),
array( 'addIndex', 'iwlinks', 'iwl_prefix_from_title',
'patch-iwlinks-from-title-index.sql' ),
+ array( 'addIndex', 'logging', 'logging_user_text',
'patch-logging_user_text_index.sql' ),
);
}
diff --git a/includes/installer/OracleUpdater.php
b/includes/installer/OracleUpdater.php
index be10e04..5491f4c 100644
--- a/includes/installer/OracleUpdater.php
+++ b/includes/installer/OracleUpdater.php
@@ -85,6 +85,9 @@
array( 'modifyField', 'user_groups', 'ug_group',
'patch-ug_group-length-increase-255.sql' ),
array( 'modifyField', 'user_former_groups',
'ufg_group', 'patch-ufg_group-length-increase-255.sql' ),
+ //1.22
+ array( 'addIndex', 'logging', 'i06',
'patch-logging_user_text_index.sql' ),
+
// KEEP THIS AT THE BOTTOM!!
array( 'doRebuildDuplicateFunction' ),
diff --git a/includes/installer/PostgresUpdater.php
b/includes/installer/PostgresUpdater.php
index 58a54c4..2b9458c 100644
--- a/includes/installer/PostgresUpdater.php
+++ b/includes/installer/PostgresUpdater.php
@@ -238,6 +238,7 @@
array( 'addPgIndex', 'job', 'job_cmd_token',
'(job_cmd, job_token, job_random)' ),
array( 'addPgIndex', 'job',
'job_cmd_token_id', '(job_cmd, job_token, job_id)' ),
array( 'addPgIndex', 'filearchive', 'fa_sha1',
'(fa_sha1)' ),
+ array( 'addPgIndex', 'logging',
'logging_user_text', '(log_user_text)' ),
array( 'checkIndex', 'pagelink_unique', array(
array( 'pl_from', 'int4_ops', 'btree', 0 ),
diff --git a/includes/installer/SqliteUpdater.php
b/includes/installer/SqliteUpdater.php
index 28d8d66..a9f9d89 100644
--- a/includes/installer/SqliteUpdater.php
+++ b/includes/installer/SqliteUpdater.php
@@ -109,6 +109,7 @@
array( 'addIndex', 'page_props', 'pp_propname_page',
'patch-page_props-propname-page-index.sql' ),
array( 'addIndex', 'image', 'img_media_mime',
'patch-img_media_mime-index.sql' ),
array( 'addIndex', 'iwlinks', 'iwl_prefix_from_title',
'patch-iwlinks-from-title-index.sql' ),
+ array( 'addIndex', 'logging', 'logging_user_text',
'patch-logging_user_text_index.sql' ),
);
}
diff --git a/maintenance/archives/patch-logging_user_text_index.sql
b/maintenance/archives/patch-logging_user_text_index.sql
new file mode 100644
index 0000000..1d0dc18
--- /dev/null
+++ b/maintenance/archives/patch-logging_user_text_index.sql
@@ -0,0 +1 @@
+CREATE INDEX /*i*/logging_user_text ON /*_*/logging (log_user_text);
diff --git a/maintenance/mssql/tables.sql b/maintenance/mssql/tables.sql
index c474f00..02cb435 100644
--- a/maintenance/mssql/tables.sql
+++ b/maintenance/mssql/tables.sql
@@ -617,6 +617,7 @@
CREATE INDEX /*$wgDBprefix*/times ON /*$wgDBprefix*/logging (log_timestamp);
CREATE INDEX /*$wgDBprefix*/log_user_type_time ON /*$wgDBprefix*/logging
(log_user, log_type, log_timestamp);
CREATE INDEX /*$wgDBprefix*/log_page_id_time ON /*$wgDBprefix*/logging
(log_page,log_timestamp);
+CREATE INDEX /*$wgDBprefix*/logging_user_text ON /*$wgDBprefix*/logging
(log_user_text);
CREATE TABLE /*$wgDBprefix*/log_search (
-- The type of ID (rev ID, log ID, rev timestamp, username)
diff --git a/maintenance/oracle/archives/patch-logging_user_text_index.sql
b/maintenance/oracle/archives/patch-logging_user_text_index.sql
new file mode 100644
index 0000000..674ba46
--- /dev/null
+++ b/maintenance/oracle/archives/patch-logging_user_text_index.sql
@@ -0,0 +1,4 @@
+define mw_prefix='{$wgDBprefix}';
+
+CREATE INDEX &mw_prefix.logging_i06 ON &mw_prefix.logging (log_user_text);
+
diff --git a/maintenance/oracle/tables.sql b/maintenance/oracle/tables.sql
index 57b6e7e..7a28c12 100644
--- a/maintenance/oracle/tables.sql
+++ b/maintenance/oracle/tables.sql
@@ -503,6 +503,7 @@
CREATE INDEX &mw_prefix.logging_i03 ON &mw_prefix.logging (log_namespace,
log_title, log_timestamp);
CREATE INDEX &mw_prefix.logging_i04 ON &mw_prefix.logging (log_timestamp);
CREATE INDEX &mw_prefix.logging_i05 ON &mw_prefix.logging (log_type,
log_action, log_timestamp);
+CREATE INDEX &mw_prefix.logging_i06 ON &mw_prefix.logging (log_user_text);
CREATE TABLE &mw_prefix.log_search (
ls_field VARCHAR2(32) NOT NULL,
diff --git a/maintenance/postgres/tables.sql b/maintenance/postgres/tables.sql
index 4d44705..16d60e4 100644
--- a/maintenance/postgres/tables.sql
+++ b/maintenance/postgres/tables.sql
@@ -503,6 +503,7 @@
CREATE INDEX logging_times ON logging (log_timestamp);
CREATE INDEX logging_user_type_time ON logging (log_user, log_type,
log_timestamp);
CREATE INDEX logging_page_id_time ON logging (log_page, log_timestamp);
+CREATE INDEX logging_user_text ON logging (log_user_text);
CREATE TABLE log_search (
ls_field TEXT NOT NULL,
diff --git a/maintenance/tables.sql b/maintenance/tables.sql
index df1bc06..642b233 100644
--- a/maintenance/tables.sql
+++ b/maintenance/tables.sql
@@ -1252,6 +1252,7 @@
CREATE INDEX /*i*/log_user_type_time ON /*_*/logging (log_user, log_type,
log_timestamp);
CREATE INDEX /*i*/log_page_id_time ON /*_*/logging (log_page,log_timestamp);
CREATE INDEX /*i*/type_action ON /*_*/logging (log_type, log_action,
log_timestamp);
+CREATE INDEX /*i*/logging_user_text ON /*_*/logging (log_user_text);
CREATE TABLE /*_*/log_search (
--
To view, visit https://gerrit.wikimedia.org/r/85508
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I6b2af65c75bbee57377cb1ec2e75ea41a5091f80
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Jackmcbarn <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits