X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=maintenance%2Ftables.sql;h=df3264a43cf963c7b3a451ee6570a2718826ac6f;hb=8641df974d1a030f7b7fad1e8e45e0f51f9816e1;hp=9aa6c20a697a5796b08536e0f9063c1e0b540bd2;hpb=165217365bfb94ad17bfef86b412eb9e2eb0508b;p=lhc%2Fweb%2Fwiklou.git diff --git a/maintenance/tables.sql b/maintenance/tables.sql index 9aa6c20a69..df3264a43c 100644 --- a/maintenance/tables.sql +++ b/maintenance/tables.sql @@ -365,6 +365,9 @@ CREATE TABLE /*_*/revision ( -- 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 @@ -401,9 +404,14 @@ CREATE TABLE /*_*/revision ( 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; @@ -572,25 +580,18 @@ CREATE INDEX /*i*/comment_hash ON /*_*/comment (comment_hash); -- --- Holding area for deleted articles, which may be viewed --- or restored by admins through the Special:Undelete interface. --- The fields generally correspond to the page, revision, and text --- fields, with several caveats. +-- Archive area for deleted pages and their revisions. +-- These may be viewed (and restored) by admins through the Special:Undelete interface. -- CREATE TABLE /*_*/archive ( -- Primary key ar_id int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT, + + -- Copied from page_namespace ar_namespace int NOT NULL default 0, + -- Copied from page_title ar_title varchar(255) binary NOT NULL default '', - -- Newly deleted pages will not store text in this table, - -- but will reference the separately existing text rows. - -- This field is retained for backwards compatibility, - -- so old archived pages will remain accessible after - -- upgrading from 1.4 to 1.5. - -- Text may be gzipped or otherwise funky. - 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) @@ -600,52 +601,60 @@ CREATE TABLE /*_*/archive ( ar_timestamp binary(14) NOT NULL default '', ar_minor_edit tinyint NOT NULL default 0, - -- See ar_text note. - ar_flags tinyblob NOT NULL, - - -- When revisions are deleted, their unique rev_id is stored - -- here so it can be retained after undeletion. This is necessary - -- to retain permalinks to given revisions after accidental delete - -- cycles or messy operations like history merges. + -- Copied from rev_id. -- - -- Old entries from 1.4 will be NULL here, and a new rev_id will - -- be created on undeletion for those revisions. - ar_rev_id int unsigned, - - -- For newly deleted revisions, this is the text.old_id key to the - -- actual stored text. To avoid breaking the block-compression scheme - -- and otherwise making storage changes harder, the actual text is - -- *not* deleted from the text table, merely hidden by removal of the - -- page and revision entries. + -- @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 NOT NULL, + + -- Copied from rev_text_id, references text.old_id. + -- To avoid breaking the block-compression scheme and otherwise making + -- storage changes harder, the actual text is *not* deleted from the + -- text storage. Instead, it is merely hidden from public view, by removal + -- of the page and revision entries. -- - -- Old entries deleted under 1.2-1.4 will have NULL here, and their - -- ar_text and ar_flags fields will be used to create a new text - -- row upon undeletion. - ar_text_id int unsigned, - - -- rev_deleted for archives + -- @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" + -- content in a single action. + -- @since 1.10 ar_deleted tinyint unsigned NOT NULL default 0, - -- Length of this revision in bytes + -- Copied from rev_len, length of this revision in bytes. + -- @since 1.10 ar_len int unsigned, - -- Reference to page_id. Useful for sysadmin fixing of large pages - -- merged together in the archives, or for cleanly restoring a page - -- at its original ID number if possible. + -- Copied from page_id. Restoration will attempt to use this as page ID if + -- no current page with the same name exists. Otherwise, the revisions will + -- be restored under the current page. Can be used for manual undeletion by + -- developers if multiple pages by the same name were archived. -- - -- Will be NULL for pages deleted prior to 1.11. + -- @since 1.11 Older entries will have NULL. ar_page_id int unsigned, - -- Original previous revision + -- Copied from rev_parent_id. + -- @since 1.13 ar_parent_id int unsigned default NULL, - -- SHA-1 text content hash in base-36 + -- Copied from rev_sha1, SHA-1 text content hash in base-36 + -- @since 1.19 ar_sha1 varbinary(32) NOT NULL default '', - -- content model, see CONTENT_MODEL_XXX constants + -- 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, - -- content format, see CONTENT_FORMAT_XXX constants + -- 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*/; @@ -667,7 +676,7 @@ CREATE INDEX /*i*/ar_revid ON /*_*/archive (ar_rev_id); -- 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 @@ -701,7 +710,9 @@ CREATE TABLE /*_*/content ( -- 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 @@ -1141,9 +1152,11 @@ CREATE TABLE /*_*/image ( -- 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, @@ -1436,7 +1449,7 @@ CREATE TABLE /*_*/recentchanges ( 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);