3 DROP TABLE IF EXISTS /*_*/archive_tmp
;
4 CREATE TABLE /*_*/archive_tmp (
5 ar_id
int unsigned
NOT NULL PRIMARY KEY AUTO_INCREMENT
,
6 ar_namespace
int NOT NULL default 0,
7 ar_title
varchar(255) binary NOT NULL default '',
8 ar_comment
varbinary(767) NOT NULL default '',
9 ar_comment_id
bigint unsigned
NOT NULL DEFAULT 0,
10 ar_user
int unsigned
NOT NULL default 0,
11 ar_user_text
varchar(255) binary NOT NULL DEFAULT '',
12 ar_actor
bigint unsigned
NOT NULL DEFAULT 0,
13 ar_timestamp
binary(14) NOT NULL default '',
14 ar_minor_edit tinyint
NOT NULL default 0,
15 ar_rev_id
int unsigned
,
16 ar_text_id
int unsigned
NOT NULL default 0,
17 ar_deleted tinyint unsigned
NOT NULL default 0,
19 ar_page_id
int unsigned
,
20 ar_parent_id
int unsigned
default NULL,
21 ar_sha1
varbinary(32) NOT NULL default '',
22 ar_content_model
varbinary(32) DEFAULT NULL,
23 ar_content_format
varbinary(64) DEFAULT NULL
24 ) /*$wgDBTableOptions*/;
26 INSERT OR IGNORE INTO /*_*/archive_tmp (
27 ar_id
, ar_namespace
, ar_title
, ar_comment
, ar_user
, ar_user_text
,
28 ar_timestamp
, ar_minor_edit
, ar_rev_id
, ar_text_id
, ar_deleted
, ar_len
,
29 ar_page_id
, ar_parent_id
, ar_sha1
, ar_content_model
, ar_content_format
)
31 ar_id
, ar_namespace
, ar_title
, ar_comment
, ar_user
, ar_user_text
,
32 ar_timestamp
, ar_minor_edit
, ar_rev_id
, ar_text_id
, ar_deleted
, ar_len
,
33 ar_page_id
, ar_parent_id
, ar_sha1
, ar_content_model
, ar_content_format
36 DROP TABLE /*_*/archive
;
37 ALTER TABLE /*_*/archive_tmp
RENAME TO /*_*/archive
;
38 CREATE INDEX /*i*/name_title_timestamp
ON /*_*/archive (ar_namespace
,ar_title
,ar_timestamp
);
39 CREATE INDEX /*i*/ar_usertext_timestamp
ON /*_*/archive (ar_user_text
,ar_timestamp
);
40 CREATE INDEX /*i*/ar_revid
ON /*_*/archive (ar_rev_id
);
41 CREATE INDEX /*i*/ar_actor_timestamp
ON /*_*/archive (ar_actor
,ar_timestamp
);