Merge "StringUtils: Add a utility for checking if a string is a valid regex"
[lhc/web/wiklou.git] / maintenance / sqlite / archives / patch-ipblocks-drop-ipb_by.sql
1 --
2 -- patch-ipblocks-drop-ipb_by.sql
3 --
4 -- T188327. Drop old xx_user and xx_user_text fields, and defaults from xx_actor fields.
5
6 BEGIN;
7
8 DROP TABLE IF EXISTS ipblocks_tmp;
9 CREATE TABLE /*_*/ipblocks_tmp (
10 ipb_id int NOT NULL PRIMARY KEY AUTO_INCREMENT,
11 ipb_address tinyblob NOT NULL,
12 ipb_user int unsigned NOT NULL default 0,
13 ipb_by_actor bigint unsigned NOT NULL,
14 ipb_reason_id bigint unsigned NOT NULL,
15 ipb_timestamp binary(14) NOT NULL default '',
16 ipb_auto bool NOT NULL default 0,
17 ipb_anon_only bool NOT NULL default 0,
18 ipb_create_account bool NOT NULL default 1,
19 ipb_enable_autoblock bool NOT NULL default '1',
20 ipb_expiry varbinary(14) NOT NULL default '',
21 ipb_range_start tinyblob NOT NULL,
22 ipb_range_end tinyblob NOT NULL,
23 ipb_deleted bool NOT NULL default 0,
24 ipb_block_email bool NOT NULL default 0,
25 ipb_allow_usertalk bool NOT NULL default 0,
26 ipb_parent_block_id int default NULL,
27 ipb_sitewide bool NOT NULL default 1
28 ) /*$wgDBTableOptions*/;
29
30 INSERT OR IGNORE INTO /*_*/ipblocks_tmp (
31 ipb_id, ipb_address, ipb_user, ipb_by_actor, ipb_reason_id,
32 ipb_timestamp, ipb_auto, ipb_anon_only, ipb_create_account,
33 ipb_enable_autoblock, ipb_expiry, ipb_range_start, ipb_range_end,
34 ipb_deleted, ipb_block_email, ipb_allow_usertalk, ipb_parent_block_id, ipb_sitewide
35 ) SELECT
36 ipb_id, ipb_address, ipb_user, ipb_by_actor, ipb_reason_id,
37 ipb_timestamp, ipb_auto, ipb_anon_only, ipb_create_account,
38 ipb_enable_autoblock, ipb_expiry, ipb_range_start, ipb_range_end,
39 ipb_deleted, ipb_block_email, ipb_allow_usertalk, ipb_parent_block_id, ipb_sitewide
40 FROM /*_*/ipblocks;
41
42 DROP TABLE /*_*/ipblocks;
43 ALTER TABLE /*_*/ipblocks_tmp RENAME TO /*_*/ipblocks;
44 CREATE UNIQUE INDEX /*i*/ipb_address ON /*_*/ipblocks (ipb_address(255), ipb_user, ipb_auto, ipb_anon_only);
45 CREATE INDEX /*i*/ipb_user ON /*_*/ipblocks (ipb_user);
46 CREATE INDEX /*i*/ipb_range ON /*_*/ipblocks (ipb_range_start(8), ipb_range_end(8));
47 CREATE INDEX /*i*/ipb_timestamp ON /*_*/ipblocks (ipb_timestamp);
48 CREATE INDEX /*i*/ipb_expiry ON /*_*/ipblocks (ipb_expiry);
49 CREATE INDEX /*i*/ipb_parent_block_id ON /*_*/ipblocks (ipb_parent_block_id);
50
51 COMMIT;