diff options
Diffstat (limited to 'AbuseFilter/db_patches/patch-split-afl_filter.sqlite.sql')
-rw-r--r-- | AbuseFilter/db_patches/patch-split-afl_filter.sqlite.sql | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/AbuseFilter/db_patches/patch-split-afl_filter.sqlite.sql b/AbuseFilter/db_patches/patch-split-afl_filter.sqlite.sql new file mode 100644 index 00000000..72894b6b --- /dev/null +++ b/AbuseFilter/db_patches/patch-split-afl_filter.sqlite.sql @@ -0,0 +1,47 @@ +-- Split afl_filter into afl_filter_id and afl_global +BEGIN; + +DROP TABLE IF EXISTS /*_*/abuse_filter_log_tmp; +CREATE TABLE /*_*/abuse_filter_log_tmp ( + afl_id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + afl_filter varbinary(64) NOT NULL DEFAULT '', + afl_global tinyint(1) NOT NULL DEFAULT 0, + afl_filter_id INTEGER NOT NULL DEFAULT 0, + afl_user BIGINT unsigned NOT NULL, + afl_user_text varbinary(255) NOT NULL, + afl_ip varbinary(255) not null, + afl_action varbinary(255) not null, + afl_actions varbinary(255) not null, + afl_var_dump BLOB NOT NULL, + afl_timestamp varbinary(14) NOT NULL, + afl_namespace int NOT NULL, + afl_title varbinary(255) NOT NULL, + afl_wiki varbinary(64) NULL, + afl_deleted tinyint(1) NOT NULL DEFAULT 0, + afl_patrolled_by int unsigned NULL, + afl_rev_id int unsigned +) /*$wgDBTableOptions*/; + +INSERT OR IGNORE INTO /*_*/abuse_filter_log_tmp ( + afl_id, afl_filter, afl_user, afl_user_text, afl_ip, + afl_action, afl_actions, afl_var_dump, afl_timestamp, afl_namespace, afl_title, + afl_wiki, afl_deleted, afl_patrolled_by, afl_rev_id ) + SELECT + afl_id, afl_filter, afl_user, afl_user_text, afl_ip, + afl_action, afl_actions, afl_var_dump, afl_timestamp, afl_namespace, afl_title, + afl_wiki, afl_deleted, afl_patrolled_by, afl_rev_id + FROM /*_*/abuse_filter_log; + +DROP TABLE /*_*/abuse_filter_log; +ALTER TABLE /*_*/abuse_filter_log_tmp RENAME TO /*_*/abuse_filter_log; + +CREATE INDEX /*i*/afl_filter_timestamp ON /*_*/abuse_filter_log (afl_filter,afl_timestamp); +CREATE INDEX /*i*/afl_filter_timestamp_full ON /*_*/abuse_filter_log (afl_global,afl_filter_id,afl_timestamp); +CREATE INDEX /*i*/afl_user_timestamp ON /*_*/abuse_filter_log (afl_user,afl_user_text,afl_timestamp); +CREATE INDEX /*i*/afl_timestamp ON /*_*/abuse_filter_log (afl_timestamp); +CREATE INDEX /*i*/afl_page_timestamp ON /*_*/abuse_filter_log (afl_namespace, afl_title, afl_timestamp); +CREATE INDEX /*i*/afl_ip_timestamp ON /*_*/abuse_filter_log (afl_ip, afl_timestamp); +CREATE INDEX /*i*/afl_wiki_timestamp ON /*_*/abuse_filter_log (afl_wiki, afl_timestamp); +CREATE INDEX /*i*/afl_rev_id ON /*_*/abuse_filter_log (afl_rev_id); + +COMMIT;
\ No newline at end of file |