mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/AbuseFilter.git
synced 2024-12-01 00:56:26 +00:00
422b77ab0e
This fixes the abuse_filter_log patch-afl_change_deleted_patrolled not being applied. The patch is provided for (and should work with) all the supported DBMS. Additionally, fix the base table files, which would report afl_patrolled_by as 'NULL', whereas on the WMF cluster it's 'NOT NULL DEFAULT 0'. The schema patch takes care of converting that column as well. Note that this schema change needs not be applied on the WMF cluster, as that's already up-to-date. Finally, note that this patch must be backported to 1.33 and 1.34 (and it might be fairly hard due to the recent schema changes on the abuse_filter_log table). Bug: T240895 Change-Id: Ibdbc9b50c25b9e871ebdeae93a54d10877b585f8
79 lines
3.4 KiB
SQL
79 lines
3.4 KiB
SQL
-- SQL tables for AbuseFilter extension
|
|
|
|
CREATE TABLE /*$wgDBprefix*/abuse_filter (
|
|
af_id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
|
af_pattern BLOB NOT NULL,
|
|
af_user BIGINT unsigned NOT NULL,
|
|
af_user_text varbinary(255) NOT NULL,
|
|
af_timestamp varbinary(14) NOT NULL,
|
|
af_enabled tinyint(1) not null default 1,
|
|
af_comments BLOB,
|
|
af_public_comments TINYBLOB,
|
|
af_hidden tinyint(1) not null default 0,
|
|
af_hit_count bigint not null default 0,
|
|
af_throttled tinyint(1) NOT NULL default 0,
|
|
af_deleted tinyint(1) NOT NULL DEFAULT 0,
|
|
af_actions varbinary(255) NOT NULL DEFAULT '',
|
|
af_global tinyint(1) NOT NULL DEFAULT 0,
|
|
af_group varbinary(64) NOT NULL DEFAULT 'default'
|
|
) /*$wgDBTableOptions*/;
|
|
CREATE INDEX af_user ON /*$wgDBprefix*/abuse_filter (af_user);
|
|
CREATE INDEX af_group_enabled ON /*$wgDBprefix*/abuse_filter (af_group,af_enabled,af_id);
|
|
|
|
CREATE TABLE /*$wgDBprefix*/abuse_filter_action (
|
|
afa_filter INTEGER NOT NULL,
|
|
afa_consequence varbinary(255) NOT NULL,
|
|
afa_parameters TINYBLOB NOT NULL,
|
|
|
|
PRIMARY KEY (afa_filter,afa_consequence)
|
|
) /*$wgDBTableOptions*/;
|
|
CREATE INDEX afa_consequence ON /*$wgDBprefix*/abuse_filter_action (afa_consequence);
|
|
|
|
CREATE TABLE /*$wgDBprefix*/abuse_filter_log (
|
|
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 NOT NULL DEFAULT 0,
|
|
afl_rev_id int unsigned
|
|
) /*$wgDBTableOptions*/;
|
|
CREATE INDEX afl_filter_timestamp ON /*$wgDBprefix*/abuse_filter_log (afl_filter,afl_timestamp);
|
|
CREATE INDEX afl_filter_timestamp_full ON /*$wgDBprefix*/abuse_filter_log (afl_global,afl_filter_id,afl_timestamp);
|
|
CREATE INDEX afl_user_timestamp ON /*$wgDBprefix*/abuse_filter_log (afl_user,afl_user_text,afl_timestamp);
|
|
CREATE INDEX afl_timestamp ON /*$wgDBprefix*/abuse_filter_log (afl_timestamp);
|
|
CREATE INDEX afl_page_timestamp ON /*$wgDBprefix*/abuse_filter_log (afl_namespace, afl_title, afl_timestamp);
|
|
CREATE INDEX afl_ip_timestamp ON /*$wgDBprefix*/abuse_filter_log (afl_ip, afl_timestamp);
|
|
CREATE INDEX afl_wiki_timestamp ON /*$wgDBprefix*/abuse_filter_log (afl_wiki, afl_timestamp);
|
|
CREATE INDEX afl_rev_id ON /*$wgDBprefix*/abuse_filter_log (afl_rev_id);
|
|
|
|
CREATE TABLE /*$wgDBprefix*/abuse_filter_history (
|
|
afh_id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
|
afh_filter INTEGER NOT NULL,
|
|
afh_user BIGINT unsigned NOT NULL,
|
|
afh_user_text varbinary(255) NOT NULL,
|
|
afh_timestamp varbinary(14) NOT NULL,
|
|
afh_pattern BLOB NOT NULL,
|
|
afh_comments BLOB NOT NULL,
|
|
afh_flags TINYBLOB NOT NULL,
|
|
afh_public_comments TINYBLOB,
|
|
afh_actions BLOB,
|
|
afh_deleted tinyint(1) NOT NULL DEFAULT 0,
|
|
afh_changed_fields varbinary(255) NOT NULL DEFAULT '',
|
|
afh_group varbinary(64) NULL
|
|
) /*$wgDBTableOptions*/;
|
|
CREATE INDEX afh_filter ON /*$wgDBprefix*/abuse_filter_history (afh_filter);
|
|
CREATE INDEX afh_user ON /*$wgDBprefix*/abuse_filter_history (afh_user);
|
|
CREATE INDEX afh_user_text ON /*$wgDBprefix*/abuse_filter_history (afh_user_text);
|
|
CREATE INDEX afh_timestamp ON /*$wgDBprefix*/abuse_filter_history (afh_timestamp);
|