From: Brad Jorsch Date: Wed, 16 Jan 2013 16:46:05 +0000 (-0500) Subject: Add pp_propname_page index to page_props X-Git-Tag: 1.31.0-rc.0~20579^2 X-Git-Url: http://git.cyclocoop.org/%24href?a=commitdiff_plain;h=bc4c2ef32d70162b46506bdcbf5320fff8265353;p=lhc%2Fweb%2Fwiklou.git Add pp_propname_page index to page_props This adds an index to page_props to support looking up pages using a particular property. Change-Id: Iea778eb783e1d4a46fb0549dfd84915477cac5df --- diff --git a/includes/installer/MysqlUpdater.php b/includes/installer/MysqlUpdater.php index da638deedc..fd7b48b0f3 100644 --- a/includes/installer/MysqlUpdater.php +++ b/includes/installer/MysqlUpdater.php @@ -228,6 +228,7 @@ class MysqlUpdater extends DatabaseUpdater { array( 'addField', 'uploadstash', 'us_props', 'patch-uploadstash-us_props.sql' ), 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' ), + array( 'addIndex', 'page_props', 'pp_propname_page', 'patch-page_props-propname-page-index.sql' ), ); } diff --git a/includes/installer/PostgresUpdater.php b/includes/installer/PostgresUpdater.php index 5a13d4211d..5cb851e3f8 100644 --- a/includes/installer/PostgresUpdater.php +++ b/includes/installer/PostgresUpdater.php @@ -223,6 +223,7 @@ class PostgresUpdater extends DatabaseUpdater { array( 'addPgIndex', 'oldimage', 'oi_sha1', '(oi_sha1)' ), array( 'addPgIndex', 'page', 'page_mediawiki_title', '(page_title) WHERE page_namespace = 8' ), array( 'addPgIndex', 'pagelinks', 'pagelinks_title', '(pl_title)' ), + array( 'addPgIndex', 'page_props', 'pp_propname_page', '(pp_propname, pp_page)' ), array( 'addPgIndex', 'revision', 'rev_text_id_idx', '(rev_text_id)' ), array( 'addPgIndex', 'recentchanges', 'rc_timestamp_bot', '(rc_timestamp) WHERE rc_bot = 0' ), array( 'addPgIndex', 'templatelinks', 'templatelinks_from', '(tl_from)' ), diff --git a/includes/installer/SqliteUpdater.php b/includes/installer/SqliteUpdater.php index b5cd640b7e..cd7a2c9f3a 100644 --- a/includes/installer/SqliteUpdater.php +++ b/includes/installer/SqliteUpdater.php @@ -108,6 +108,7 @@ class SqliteUpdater extends DatabaseUpdater { array( 'addField', 'uploadstash', 'us_props', 'patch-uploadstash-us_props.sql' ), 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' ), + array( 'addIndex', 'page_props', 'pp_propname_page', 'patch-page_props-propname-page-index.sql' ), ); } diff --git a/maintenance/archives/patch-page_props-propname-page-index.sql b/maintenance/archives/patch-page_props-propname-page-index.sql new file mode 100644 index 0000000000..822fa04dc1 --- /dev/null +++ b/maintenance/archives/patch-page_props-propname-page-index.sql @@ -0,0 +1,4 @@ +-- +-- Creates the pp_propname_page index on page_props +-- +CREATE UNIQUE INDEX /*i*/pp_propname_page ON /*_*/page_props (pp_propname, pp_page); diff --git a/maintenance/postgres/tables.sql b/maintenance/postgres/tables.sql index 845193da30..bb1ea0a306 100644 --- a/maintenance/postgres/tables.sql +++ b/maintenance/postgres/tables.sql @@ -154,6 +154,7 @@ CREATE TABLE page_props ( ); ALTER TABLE page_props ADD CONSTRAINT page_props_pk PRIMARY KEY (pp_page,pp_propname); CREATE INDEX page_props_propname ON page_props (pp_propname); +CREATE UNIQUE INDEX pp_propname_page ON page_props (pp_propname,pp_page); CREATE TABLE archive ( ar_namespace SMALLINT NOT NULL, diff --git a/maintenance/tables.sql b/maintenance/tables.sql index 14d74229e3..97d6ff20f7 100644 --- a/maintenance/tables.sql +++ b/maintenance/tables.sql @@ -1417,6 +1417,7 @@ CREATE TABLE /*_*/page_props ( ) /*$wgDBTableOptions*/; CREATE UNIQUE INDEX /*i*/pp_page_propname ON /*_*/page_props (pp_page,pp_propname); +CREATE UNIQUE INDEX /*i*/pp_propname_page ON /*_*/page_props (pp_propname,pp_page); -- A table to log updates, one text key row per update.