Add image.img_user, image.img_timestamp index
authorMatthias Mullie <git@mullie.eu>
Tue, 14 Mar 2017 14:16:48 +0000 (15:16 +0100)
committerMatthias Mullie <git@mullie.eu>
Tue, 14 Mar 2017 14:37:27 +0000 (15:37 +0100)
This will allow searching on user id instead of just the name.
This is how ContribsPager, LogPager, ... all work already.

Bug: T160415
Change-Id: I4db7bd0f917a428f40eb315246f89d49c7ae5b6a

includes/installer/MysqlUpdater.php
includes/installer/SqliteUpdater.php
maintenance/archives/patch-image-user-index-2.sql [new file with mode: 0644]
maintenance/archives/patch-image-user-index.sql
maintenance/tables.sql

index 3131c3c..ff13196 100644 (file)
@@ -299,6 +299,7 @@ class MysqlUpdater extends DatabaseUpdater {
                        [ 'addField', 'externallinks', 'el_index_60', 'patch-externallinks-el_index_60.sql' ],
                        [ 'dropIndex', 'user_groups', 'ug_user_group', 'patch-user_groups-primary-key.sql' ],
                        [ 'addField', 'user_groups', 'ug_expiry', 'patch-user_groups-ug_expiry.sql' ],
+                       [ 'addIndex', 'image', 'img_user_timestamp', 'patch-image-user-index-2.sql' ],
                ];
        }
 
index cdbbfd0..dcd66dd 100644 (file)
@@ -162,6 +162,7 @@ class SqliteUpdater extends DatabaseUpdater {
                        // 1.29
                        [ 'addField', 'externallinks', 'el_index_60', 'patch-externallinks-el_index_60.sql' ],
                        [ 'addField', 'user_groups', 'ug_expiry', 'patch-user_groups-ug_expiry.sql' ],
+                       [ 'addIndex', 'image', 'img_user_timestamp', 'patch-image-user-index-2.sql' ],
                ];
        }
 
diff --git a/maintenance/archives/patch-image-user-index-2.sql b/maintenance/archives/patch-image-user-index-2.sql
new file mode 100644 (file)
index 0000000..8b19d82
--- /dev/null
@@ -0,0 +1 @@
+CREATE INDEX /*i*/img_user_timestamp ON /*_*/image (img_user,img_timestamp);
index a74d7bd..b44930f 100644 (file)
@@ -1,7 +1,7 @@
 --
 -- image-user-index.sql
 --
--- Add user/timestamp index to current image versions
+-- Add user_text/timestamp index to current image versions
 --
 
 ALTER TABLE /*$wgDBprefix*/image
index 44922a4..8f59690 100644 (file)
@@ -899,6 +899,8 @@ CREATE TABLE /*_*/image (
   img_sha1 varbinary(32) NOT NULL default ''
 ) /*$wgDBTableOptions*/;
 
+-- Used by Special:Newimages and ApiQueryAllImages
+CREATE INDEX /*i*/img_user_timestamp ON /*_*/image (img_user,img_timestamp);
 CREATE INDEX /*i*/img_usertext_timestamp ON /*_*/image (img_user_text,img_timestamp);
 -- Used by Special:ListFiles for sort-by-size
 CREATE INDEX /*i*/img_size ON /*_*/image (img_size);