Create new table for watchlist expiry
This table will store expiries for watchlist items, so that pages can be automatically unwatched at a specific time. Bug: T240094 Change-Id: I014ffccb91969e7a222a83858c55e71067b0f2af
This commit is contained in:
parent
7b54f5dc3d
commit
865755dbe5
8 changed files with 51 additions and 0 deletions
|
|
@ -411,6 +411,9 @@ class MysqlUpdater extends DatabaseUpdater {
|
|||
[ 'dropIndex', 'archive', 'usertext_timestamp', 'patch-drop-archive-usertext_timestamp.sql' ],
|
||||
[ 'dropField', 'logging', 'log_user', 'patch-drop-user-fields.sql' ],
|
||||
[ 'addIndex', 'user_newtalk', 'un_user_ip', 'patch-rename-mysql-user_newtalk-indexes.sql' ],
|
||||
|
||||
// 1.35
|
||||
[ 'addTable', 'watchlist_expiry', 'patch-watchlist_expiry.sql' ],
|
||||
];
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -658,6 +658,7 @@ class PostgresUpdater extends DatabaseUpdater {
|
|||
|
||||
// 1.35
|
||||
[ 'addIndex', 'redirect', 'redirect_pkey', 'patch-redirect-pk.sql' ],
|
||||
[ 'addTable', 'watchlist_expiry', 'patch-watchlist_expiry.sql' ],
|
||||
];
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -278,6 +278,9 @@ class SqliteUpdater extends DatabaseUpdater {
|
|||
[ 'dropField', 'filearchive', 'fa_user', 'patch-filearchive-drop-fa_user.sql' ],
|
||||
[ 'dropField', 'recentchanges', 'rc_user', 'patch-recentchanges-drop-rc_user.sql' ],
|
||||
[ 'dropField', 'logging', 'log_user', 'patch-logging-drop-log_user.sql' ],
|
||||
|
||||
// 1.35
|
||||
[ 'addTable', 'watchlist_expiry', 'patch-watchlist_expiry.sql' ],
|
||||
];
|
||||
}
|
||||
|
||||
|
|
|
|||
9
maintenance/archives/patch-watchlist_expiry.sql
Normal file
9
maintenance/archives/patch-watchlist_expiry.sql
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
-- Allows setting an expiry for watchlist items.
|
||||
CREATE TABLE /*_*/watchlist_expiry (
|
||||
-- Key to watchlist.wl_id
|
||||
we_item int unsigned NOT NULL PRIMARY KEY,
|
||||
-- Expiry time
|
||||
we_expiry binary(14) NOT NULL
|
||||
) /*$wgDBTableOptions*/;
|
||||
|
||||
CREATE INDEX /*i*/we_expiry ON /*_*/watchlist_expiry (we_expiry);
|
||||
8
maintenance/postgres/archives/patch-watchlist_expiry.sql
Normal file
8
maintenance/postgres/archives/patch-watchlist_expiry.sql
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
CREATE SEQUENCE watchlist_expiry_we_item_seq;
|
||||
|
||||
CREATE TABLE watchlist_expiry (
|
||||
we_item INTEGER PRIMARY KEY NOT NULL DEFAULT nextval('watchlist_expiry_we_item_seq'),
|
||||
we_expiry TIMESTAMPTZ NOT NULL
|
||||
);
|
||||
|
||||
CREATE INDEX we_expiry ON watchlist_expiry (we_expiry);
|
||||
|
|
@ -28,6 +28,7 @@ DROP SEQUENCE IF EXISTS archive_ar_id_seq CASCADE;
|
|||
DROP SEQUENCE IF EXISTS externallinks_el_id_seq CASCADE;
|
||||
DROP SEQUENCE IF EXISTS sites_site_id_seq CASCADE;
|
||||
DROP SEQUENCE IF EXISTS change_tag_ct_id_seq CASCADE;
|
||||
DROP SEQUENCE IF EXISTS watchlist_expiry_we_item_seq CASCADE;
|
||||
DROP FUNCTION IF EXISTS page_deleted() CASCADE;
|
||||
DROP FUNCTION IF EXISTS ts2_page_title() CASCADE;
|
||||
DROP FUNCTION IF EXISTS ts2_page_text() CASCADE;
|
||||
|
|
@ -837,3 +838,11 @@ CREATE TABLE site_identifiers (
|
|||
);
|
||||
CREATE INDEX si_site ON site_identifiers (si_site);
|
||||
CREATE INDEX si_key ON site_identifiers (si_key);
|
||||
|
||||
CREATE SEQUENCE watchlist_expiry_we_item_seq;
|
||||
CREATE TABLE watchlist_expiry (
|
||||
we_item INTEGER PRIMARY KEY NOT NULL DEFAULT nextval('watchlist_expiry_we_item_seq'),
|
||||
we_expiry TIMESTAMPTZ NOT NULL
|
||||
);
|
||||
ALTER SEQUENCE watchlist_expiry_we_item_seq OWNED BY watchlist_expiry.we_item;
|
||||
CREATE INDEX we_expiry ON watchlist_expiry (we_expiry);
|
||||
|
|
|
|||
9
maintenance/sqlite/archives/patch-watchlist_expiry.sql
Normal file
9
maintenance/sqlite/archives/patch-watchlist_expiry.sql
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
-- Allows setting an expiry for watchlist items.
|
||||
CREATE TABLE /*_*/watchlist_expiry (
|
||||
-- Key to watchlist.wl_id
|
||||
we_item int unsigned NOT NULL PRIMARY KEY,
|
||||
-- Expiry time
|
||||
we_expiry binary(14) NOT NULL
|
||||
) /*$wgDBTableOptions*/;
|
||||
|
||||
CREATE INDEX /*i*/we_expiry ON /*_*/watchlist_expiry (we_expiry);
|
||||
|
|
@ -1474,6 +1474,15 @@ CREATE INDEX /*i*/namespace_title ON /*_*/watchlist (wl_namespace, wl_title);
|
|||
-- ApiQueryWatchlistRaw changed filter
|
||||
CREATE INDEX /*i*/wl_user_notificationtimestamp ON /*_*/watchlist (wl_user, wl_notificationtimestamp);
|
||||
|
||||
-- Allows setting an expiry for watchlist items.
|
||||
CREATE TABLE /*_*/watchlist_expiry (
|
||||
-- Key to watchlist.wl_id
|
||||
we_item int unsigned NOT NULL PRIMARY KEY,
|
||||
-- Expiry time
|
||||
we_expiry binary(14) NOT NULL
|
||||
) /*$wgDBTableOptions*/;
|
||||
|
||||
CREATE INDEX /*i*/we_expiry ON /*_*/watchlist_expiry (we_expiry);
|
||||
|
||||
--
|
||||
-- When using the default MySQL search backend, page titles
|
||||
|
|
|
|||
Loading…
Reference in a new issue