2 -- patch-archive-drop-ar_comment.sql
4 -- T166732. Drop old xx_comment fields, and defaults from xx_comment_id fields.
8 DROP TABLE IF EXISTS /*_*/archive_tmp
;
9 CREATE 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,
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*/;
30 INSERT 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
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
40 DROP TABLE /*_*/archive
;
41 ALTER TABLE /*_*/archive_tmp
RENAME TO /*_*/archive
;
42 CREATE INDEX /*i*/name_title_timestamp
ON /*_*/archive (ar_namespace
,ar_title
,ar_timestamp
);
43 CREATE INDEX /*i*/ar_usertext_timestamp
ON /*_*/archive (ar_user_text
,ar_timestamp
);
44 CREATE INDEX /*i*/ar_actor_timestamp
ON /*_*/archive (ar_actor
,ar_timestamp
);
45 CREATE UNIQUE INDEX /*i*/ar_revid_uniq
ON /*_*/archive (ar_rev_id
);