Index: trunk/phase3/maintenance/archives/patch-change_tag.sql |
— | — | @@ -5,27 +5,28 @@ |
6 | 6 | ct_log_id int NULL, |
7 | 7 | ct_rev_id int NULL, |
8 | 8 | ct_tag varchar(255) NOT NULL, |
9 | | - ct_params BLOB NULL, |
10 | | - |
11 | | - UNIQUE KEY (ct_rc_id,ct_tag), |
12 | | - UNIQUE KEY (ct_log_id,ct_tag), |
13 | | - UNIQUE KEY (ct_rev_id,ct_tag), |
14 | | - KEY (ct_tag,ct_rc_id,ct_rev_id,ct_log_id) -- Covering index, so we can pull all the info only out of the index. |
| 9 | + ct_params BLOB NULL |
15 | 10 | ) /*$wgDBTableOptions*/; |
16 | 11 | |
| 12 | +CREATE UNIQUE INDEX /*i*/change_tag_rc_tag ON /*_*/change_tag (ct_rc_id,ct_tag); |
| 13 | +CREATE UNIQUE INDEX /*i*/change_tag_log_tag ON /*_*/change_tag (ct_log_id,ct_tag); |
| 14 | +CREATE UNIQUE INDEX /*i*/change_tag_rev_tag ON /*_*/change_tag (ct_rev_id,ct_tag); |
| 15 | +-- Covering index, so we can pull all the info only out of the index. |
| 16 | +CREATE INDEX /*i*/change_tag_tag_id ON /*_*/change_tag (ct_tag,ct_rc_id,ct_rev_id,ct_log_id); |
| 17 | + |
17 | 18 | -- Rollup table to pull a LIST of tags simply without ugly GROUP_CONCAT that only works on MySQL 4.1+ |
18 | 19 | CREATE TABLE /*_*/tag_summary ( |
19 | 20 | ts_rc_id int NULL, |
20 | 21 | ts_log_id int NULL, |
21 | 22 | ts_rev_id int NULL, |
22 | | - ts_tags BLOB NOT NULL, |
23 | | - |
24 | | - UNIQUE KEY (ts_rc_id), |
25 | | - UNIQUE KEY (ts_log_id), |
26 | | - UNIQUE KEY (ts_rev_id) |
| 23 | + ts_tags BLOB NOT NULL |
27 | 24 | ) /*$wgDBTableOptions*/; |
28 | 25 | |
| 26 | +CREATE UNIQUE INDEX /*i*/tag_summary_rc_id ON /*_*/tag_summary (ts_rc_id); |
| 27 | +CREATE UNIQUE INDEX /*i*/tag_summary_log_id ON /*_*/tag_summary (ts_log_id); |
| 28 | +CREATE UNIQUE INDEX /*i*/tag_summary_rev_id ON /*_*/tag_summary (ts_rev_id); |
| 29 | + |
| 30 | + |
29 | 31 | CREATE TABLE /*_*/valid_tag ( |
30 | | - vt_tag varchar(255) NOT NULL, |
31 | | - PRIMARY KEY (vt_tag) |
| 32 | + vt_tag varchar(255) NOT NULL PRIMARY KEY |
32 | 33 | ) /*$wgDBTableOptions*/; |
Index: trunk/phase3/maintenance/updaters.inc |
— | — | @@ -163,6 +163,11 @@ |
164 | 164 | array( 'do_active_users_init' ), |
165 | 165 | array( 'add_field', 'ipblocks', 'ipb_allow_usertalk', 'patch-ipb_allow_usertalk.sql' ), |
166 | 166 | array( 'sqlite_initial_indexes' ), |
| 167 | + |
| 168 | + // 1.15 |
| 169 | + array( 'add_table', 'change_tag', 'patch-change_tag.sql' ), |
| 170 | + array( 'add_table', 'tag_summary', 'patch-change_tag.sql' ), |
| 171 | + array( 'add_table', 'valid_tag', 'patch-change_tag.sql' ), |
167 | 172 | ), |
168 | 173 | ); |
169 | 174 | |