Split down patch-actor-table.sql
[lhc/web/wiklou.git] / maintenance / sqlite / archives / patch-logging-log_actor.sql
1 BEGIN;
2
3 DROP TABLE IF EXISTS /*_*/logging_tmp;
4 CREATE TABLE /*_*/logging_tmp (
5 log_id int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT,
6 log_type varbinary(32) NOT NULL default '',
7 log_action varbinary(32) NOT NULL default '',
8 log_timestamp binary(14) NOT NULL default '19700101000000',
9 log_user int unsigned NOT NULL default 0,
10 log_user_text varchar(255) binary NOT NULL default '',
11 log_actor bigint unsigned NOT NULL DEFAULT 0,
12 log_namespace int NOT NULL default 0,
13 log_title varchar(255) binary NOT NULL default '',
14 log_page int unsigned NULL,
15 log_comment varbinary(767) NOT NULL default '',
16 log_comment_id bigint unsigned NOT NULL DEFAULT 0,
17 log_params blob NOT NULL,
18 log_deleted tinyint unsigned NOT NULL default 0
19 ) /*$wgDBTableOptions*/;
20
21 INSERT OR IGNORE INTO /*_*/logging_tmp (
22 log_id, log_type, log_action, log_timestamp, log_user, log_user_text,
23 log_namespace, log_title, log_page, log_comment, log_comment_id,
24 log_params, log_deleted)
25 SELECT
26 log_id, log_type, log_action, log_timestamp, log_user, log_user_text,
27 log_namespace, log_title, log_page, log_comment, log_comment_id,
28 log_params, log_deleted
29 FROM /*_*/logging;
30
31 DROP TABLE /*_*/logging;
32 ALTER TABLE /*_*/logging_tmp RENAME TO /*_*/logging;
33 CREATE INDEX /*i*/type_time ON /*_*/logging (log_type, log_timestamp);
34 CREATE INDEX /*i*/user_time ON /*_*/logging (log_user, log_timestamp);
35 CREATE INDEX /*i*/actor_time ON /*_*/logging (log_actor, log_timestamp);
36 CREATE INDEX /*i*/page_time ON /*_*/logging (log_namespace, log_title, log_timestamp);
37 CREATE INDEX /*i*/times ON /*_*/logging (log_timestamp);
38 CREATE INDEX /*i*/log_user_type_time ON /*_*/logging (log_user, log_type, log_timestamp);
39 CREATE INDEX /*i*/log_actor_type_time ON /*_*/logging (log_actor, log_type, log_timestamp);
40 CREATE INDEX /*i*/log_page_id_time ON /*_*/logging (log_page,log_timestamp);
41 CREATE INDEX /*i*/log_type_action ON /*_*/logging (log_type, log_action, log_timestamp);
42 CREATE INDEX /*i*/log_user_text_type_time ON /*_*/logging (log_user_text, log_type, log_timestamp);
43 CREATE INDEX /*i*/log_user_text_time ON /*_*/logging (log_user_text, log_timestamp);
44
45 COMMIT;