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_text mediumblob
NOT NULL,
9 ar_comment
varbinary(767) NOT NULL default '',
10 ar_comment_id
bigint unsigned
NOT NULL DEFAULT 0,
11 ar_user
int unsigned
NOT NULL default 0,
12 ar_user_text
varchar(255) binary NOT NULL,
13 ar_timestamp
binary(14) NOT NULL default '',
14 ar_minor_edit tinyint
NOT NULL default 0,
15 ar_flags tinyblob
NOT NULL,
16 ar_rev_id
int unsigned
,
17 ar_text_id
int unsigned
,
18 ar_deleted tinyint unsigned
NOT NULL default 0,
20 ar_page_id
int unsigned
,
21 ar_parent_id
int unsigned
default NULL,
22 ar_sha1
varbinary(32) NOT NULL default '',
23 ar_content_model
varbinary(32) DEFAULT NULL,
24 ar_content_format
varbinary(64) DEFAULT NULL
25 ) /*$wgDBTableOptions*/;
27 INSERT OR IGNORE INTO /*_*/archive_tmp (
28 ar_id
, ar_namespace
, ar_title
, ar_text
, ar_comment
, ar_user
, ar_user_text
,
29 ar_timestamp
, ar_minor_edit
, ar_flags
, ar_rev_id
, ar_text_id
, ar_deleted
,
30 ar_len
, ar_page_id
, ar_parent_id
, ar_sha1
, ar_content_model
,
33 ar_id
, ar_namespace
, ar_title
, ar_text
, ar_comment
, ar_user
, ar_user_text
,
34 ar_timestamp
, ar_minor_edit
, ar_flags
, ar_rev_id
, ar_text_id
, ar_deleted
,
35 ar_len
, ar_page_id
, ar_parent_id
, ar_sha1
, ar_content_model
,
39 DROP TABLE /*_*/archive
;
40 ALTER TABLE /*_*/archive_tmp
RENAME TO /*_*/archive
;
41 CREATE INDEX /*i*/name_title_timestamp
ON /*_*/archive (ar_namespace
,ar_title
,ar_timestamp
);
42 CREATE INDEX /*i*/ar_usertext_timestamp
ON /*_*/archive (ar_user_text
,ar_timestamp
);
43 CREATE INDEX /*i*/ar_revid
ON /*_*/archive (ar_rev_id
);