1-- 2-- patch-archive-drop-ar_comment.sql 3-- 4-- T166732. Drop old xx_comment fields, and defaults from xx_comment_id fields. 5 6BEGIN; 7 8DROP TABLE IF EXISTS /*_*/archive_tmp; 9CREATE TABLE /*_*/archive_tmp ( 10 ar_id int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT, 11 ar_namespace int NOT NULL default 0, 12 ar_title varchar(255) binary NOT NULL default '', 13 ar_comment_id bigint unsigned NOT NULL, 14 ar_user int unsigned NOT NULL default 0, 15 ar_user_text varchar(255) binary NOT NULL DEFAULT '', 16 ar_actor bigint unsigned NOT NULL DEFAULT 0, 17 ar_timestamp binary(14) NOT NULL default '', 18 ar_minor_edit tinyint NOT NULL default 0, 19 ar_rev_id int unsigned NOT NULL, 20 ar_text_id int unsigned NOT NULL DEFAULT 0, 21 ar_deleted tinyint unsigned NOT NULL default 0, 22 ar_len int unsigned, 23 ar_page_id int unsigned, 24 ar_parent_id int unsigned default NULL, 25 ar_sha1 varbinary(32) NOT NULL default '', 26 ar_content_model varbinary(32) DEFAULT NULL, 27 ar_content_format varbinary(64) DEFAULT NULL 28) /*$wgDBTableOptions*/; 29 30INSERT OR IGNORE INTO /*_*/archive_tmp ( 31 ar_id, ar_namespace, ar_title, ar_comment_id, ar_user, ar_user_text, ar_actor, 32 ar_timestamp, ar_minor_edit, ar_rev_id, ar_text_id, ar_deleted, 33 ar_len, ar_page_id, ar_parent_id, ar_sha1, ar_content_model, ar_content_format 34 ) SELECT 35 ar_id, ar_namespace, ar_title, ar_comment_id, ar_user, ar_user_text, ar_actor, 36 ar_timestamp, ar_minor_edit, ar_rev_id, ar_text_id, ar_deleted, 37 ar_len, ar_page_id, ar_parent_id, ar_sha1, ar_content_model, ar_content_format 38 FROM /*_*/archive; 39 40DROP TABLE /*_*/archive; 41ALTER TABLE /*_*/archive_tmp RENAME TO /*_*/archive; 42CREATE INDEX /*i*/name_title_timestamp ON /*_*/archive (ar_namespace,ar_title,ar_timestamp); 43CREATE INDEX /*i*/ar_usertext_timestamp ON /*_*/archive (ar_user_text,ar_timestamp); 44CREATE INDEX /*i*/ar_actor_timestamp ON /*_*/archive (ar_actor,ar_timestamp); 45CREATE UNIQUE INDEX /*i*/ar_revid_uniq ON /*_*/archive (ar_rev_id); 46 47COMMIT; 48