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

Reply via email to