-- It's possible for multiple revisions to use the same text,
-- for instance revisions where only metadata is altered
-- or a rollback to a previous version.
+ -- @deprecated since 1.31. If rows in the slots table with slot_revision_id = rev_id
+ -- exist, this field should be ignored (and may be 0) in favor of the
+ -- corresponding data from the slots and content tables
rev_text_id int unsigned NOT NULL default 0,
-- Text comment summarizing the change. Deprecated in favor of
rev_sha1 varbinary(32) NOT NULL default '',
-- content model, see CONTENT_MODEL_XXX constants
+ -- @deprecated since 1.31. If rows in the slots table with slot_revision_id = rev_id
+ -- exist, this field should be ignored (and may be NULL) in favor of the
+ -- corresponding data from the slots and content tables
rev_content_model varbinary(32) DEFAULT NULL,
-- content format, see CONTENT_FORMAT_XXX constants
+ -- @deprecated since 1.31. If rows in the slots table with slot_revision_id = rev_id
+ -- exist, this field should be ignored (and may be NULL).
rev_content_format varbinary(64) DEFAULT NULL
) /*$wgDBTableOptions*/ MAX_ROWS=10000000 AVG_ROW_LENGTH=1024;
-- Copied from page_title
ar_title varchar(255) binary NOT NULL default '',
- -- Copied from text.old_text, for pages deleted before MediaWiki 1.5.
- -- This row may contain the raw revision text, possibly compressed.
- -- Newer MediaWiki versions use ar_text_id instead.
- -- This field is retained for backwards compatibility, so that
- -- old archived pages will remain accessible.
- -- See migrateArchiveText.php for migrating values to text storage.
- ar_text mediumblob NOT NULL,
-
-- Basic revision stuff...
ar_comment varbinary(767) NOT NULL default '', -- Deprecated in favor of ar_comment_id
ar_comment_id bigint unsigned NOT NULL DEFAULT 0, -- ("DEFAULT 0" is temporary, signaling that ar_comment should be used)
ar_timestamp binary(14) NOT NULL default '',
ar_minor_edit tinyint NOT NULL default 0,
- -- Copied from text.old_flags, for pages deleted before MediaWiki 1.5.
- -- Otherwise empty string.
- -- See also note for ar_text.
- ar_flags tinyblob NOT NULL,
-
-- Copied from rev_id.
--
-- @since 1.5 Entries from 1.4 will be NULL here. When restoring
-- archive rows from before 1.5, a new rev_id is created.
- ar_rev_id int unsigned,
+ ar_rev_id int unsigned NOT NULL,
-- Copied from rev_text_id, references text.old_id.
-- To avoid breaking the block-compression scheme and otherwise making
-- text storage. Instead, it is merely hidden from public view, by removal
-- of the page and revision entries.
--
- -- @since 1.5 Entries from 1.2-1.4 will have NULL here. When restoring
- -- archive rows without this, ar_text and ar_flags are used instead.
- ar_text_id int unsigned,
+ -- @deprecated since 1.31. If rows in the slots table with slot_revision_id = ar_rev_id
+ -- exist, this field should be ignored (and may be 0) in favor of the
+ -- corresponding data from the slots and content tables
+ ar_text_id int unsigned NOT NULL DEFAULT 0,
-- Copied from rev_deleted. Although this may be raised during deletion.
-- Users with the "suppressrevision" right may "archive" and "suppress"
-- Copied from rev_content_model, see CONTENT_MODEL_XXX constants
-- @since 1.21
+ -- @deprecated since 1.31. If rows in the slots table with slot_revision_id = ar_rev_id
+ -- exist, this field should be ignored (and may be NULL) in favor of the
+ -- corresponding data from the slots and content tables
ar_content_model varbinary(32) DEFAULT NULL,
-- Copied from rev_content_format, see CONTENT_FORMAT_XXX constants
-- @since 1.21
+ -- @deprecated since 1.31. If rows in the slots table with slot_revision_id = ar_rev_id
+ -- exist, this field should be ignored (and may be NULL).
ar_content_format varbinary(64) DEFAULT NULL
) /*$wgDBTableOptions*/;
--
CREATE TABLE /*_*/slots (
- -- reference to rev_id
+ -- reference to rev_id or ar_rev_id
slot_revision_id bigint unsigned NOT NULL,
-- reference to role_id
-- Nominal hash of the content object (not necessarily of the serialized blob)
content_sha1 varbinary(32) NOT NULL,
- -- reference to model_id
+ -- reference to model_id. Note the content format isn't specified; it should
+ -- be assumed to be in the default format for the model unless auto-detected
+ -- otherwise.
content_model smallint unsigned NOT NULL,
-- URL-like address of the content blob
-- Description field as entered by the uploader.
-- This is displayed in image upload history and logs.
- -- Deprecated in favor of image_comment_temp.imgcomment_description_id.
+ -- Deprecated in favor of img_description_id.
img_description varbinary(767) NOT NULL default '',
+ img_description_id bigint unsigned NOT NULL DEFAULT 0, -- ("DEFAULT 0" is temporary, signaling that img_description should be used)
+
-- user_id and user_name of uploader.
-- Deprecated in favor of img_actor.
img_user int unsigned NOT NULL default 0,
CREATE INDEX /*i*/rc_timestamp ON /*_*/recentchanges (rc_timestamp);
-- Special:Watchlist
-CREATE INDEX /*i*/rc_namespace_title ON /*_*/recentchanges (rc_namespace, rc_title);
+CREATE INDEX /*i*/rc_namespace_title_timestamp ON /*_*/recentchanges (rc_namespace, rc_title, rc_timestamp);
-- Special:Recentchangeslinked when finding changes in pages linked from a page
CREATE INDEX /*i*/rc_cur_id ON /*_*/recentchanges (rc_cur_id);