-- which allows for fast searching for all pages under example.com with the
-- clause:
-- WHERE el_index LIKE 'http://com.example.%'
+ --
+ -- Note if you enable or disable PHP's intl extension, you'll need to run
+ -- maintenance/refreshExternallinksIndex.php to refresh this field.
el_index blob NOT NULL,
-- This is el_index truncated to 60 bytes to allow for sortable queries that
-- Autoblocks set this to the original block
-- so that the original block being deleted also
-- deletes the autoblocks
- ipb_parent_block_id int default NULL
+ ipb_parent_block_id int default NULL,
+
+ -- Block user from editing any page on the site (other than their own user
+ -- talk page).
+ ipb_sitewide bool NOT NULL default 1
) /*$wgDBTableOptions*/;
-- Index for removing autoblocks when a parent block is removed
CREATE INDEX /*i*/ipb_parent_block_id ON /*_*/ipblocks (ipb_parent_block_id);
+--
+-- Partial Block Restrictions
+--
+CREATE TABLE /*_*/ipblocks_restrictions (
+
+ -- The ipb_id from ipblocks
+ ir_ipb_id int NOT NULL,
+
+ -- The restriction type id.
+ ir_type tinyint(1) NOT NULL,
+
+ -- The restriction id that corrposponds to the type. Typically a Page ID or a
+ -- Namespace ID.
+ ir_value int NOT NULL,
+
+ PRIMARY KEY (ir_ipb_id, ir_type, ir_value)
+) /*$wgDBTableOptions*/;
+
+-- Index to query restrictions by the page or namespace.
+CREATE INDEX /*i*/ir_type_value ON /*_*/ipblocks_restrictions (ir_type, ir_value);
--
-- Uploaded images and other files.
-- Used to get media of one type
CREATE INDEX /*i*/img_media_mime ON /*_*/image (img_media_type,img_major_mime,img_minor_mime);
---
--- Temporary table to avoid blocking on an alter of image.
---
--- On large wikis like Wikimedia Commons, altering the image table is a
--- months-long process. This table is being created to avoid such an alter, and
--- will be merged back into image in the future.
---
-CREATE TABLE /*_*/image_comment_temp (
- -- Key to img_name (ugh)
- imgcomment_name varchar(255) binary NOT NULL,
- -- Key to comment_id
- imgcomment_description_id bigint unsigned NOT NULL,
- PRIMARY KEY (imgcomment_name, imgcomment_description_id)
-) /*$wgDBTableOptions*/;
--- Ensure uniqueness
-CREATE UNIQUE INDEX /*i*/imgcomment_name ON /*_*/image_comment_temp (imgcomment_name);
-
--
-- Previous revisions of uploaded files.
ct_log_id int unsigned NULL,
-- REVID for the change
ct_rev_id int unsigned NULL,
- -- Tag applied, this will go away and be replaced with ct_tag_id
- ct_tag varchar(255) NOT NULL default '',
-- Parameters for the tag; used by some extensions
ct_params blob NULL,
- -- Foreign key to change_tag_def row, this will be "NOT NULL" once populated
- ct_tag_id int unsigned NULL
+ -- Foreign key to change_tag_def row
+ ct_tag_id int unsigned NOT NULL
) /*$wgDBTableOptions*/;
-CREATE INDEX /*i*/change_tag_rc_tag_nonuniq ON /*_*/change_tag (ct_rc_id,ct_tag);
-CREATE INDEX /*i*/change_tag_log_tag_nonuniq ON /*_*/change_tag (ct_log_id,ct_tag);
-CREATE INDEX /*i*/change_tag_rev_tag_nonuniq ON /*_*/change_tag (ct_rev_id,ct_tag);
CREATE UNIQUE INDEX /*i*/change_tag_rc_tag_id ON /*_*/change_tag (ct_rc_id,ct_tag_id);
CREATE UNIQUE INDEX /*i*/change_tag_log_tag_id ON /*_*/change_tag (ct_log_id,ct_tag_id);
CREATE UNIQUE INDEX /*i*/change_tag_rev_tag_id ON /*_*/change_tag (ct_rev_id,ct_tag_id);
-- Covering index, so we can pull all the info only out of the index.
-CREATE INDEX /*i*/change_tag_tag_id ON /*_*/change_tag (ct_tag,ct_rc_id,ct_rev_id,ct_log_id);
CREATE INDEX /*i*/change_tag_tag_id_id ON /*_*/change_tag (ct_tag_id,ct_rc_id,ct_rev_id,ct_log_id);
-- Rollup table to pull a LIST of tags simply without ugly GROUP_CONCAT