Manual:watchlist table
↑ Manual:Contents | MediaWiki database layout | watchlist table |
The watchlist table for each registered user contains their ID and for all the pages the user watches, the namespace number, the page title without namespace, and a notification timestamp, used for page change notification.
FieldsEdit
wl_idEdit
MediaWiki version: | ≥ 1.27 |
This is the primary key for the table.
wl_userEdit
This is the key to user.user_id .
wl_namespaceEdit
This is the key to page_namespace .
wl_titleEdit
This is the key to page_title .
wl_notificationtimestampEdit
MediaWiki version: | ≥ 1.4 |
This is the timestamp of the first change to the page made by another user after the last visit by the watching user; the timestamp is cleared when the user visits the page. When the timestamp is updated, notification email may be sent.
The timestamp is always cleared (made NULL) when the user visits the page, whatever their personal settings, as long as either of $wgUseEnotif or $wgShowUpdatedMarker is true.
MediaWiki version: | ≥ 1.26 |
Since git #836ad263, the timestamp update may be deferred to the job queue.
Schema summaryEdit
MediaWiki version: | ≥ 1.27 |
DESCRIBE watchlist;
+--------------------------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------------------+------------------+------+-----+---------+----------------+ | wl_id | int(10) unsigned | NO | PRI | NULL | auto_increment | | wl_user | int(10) unsigned | NO | MUL | NULL | | | wl_namespace | int(11) | NO | MUL | 0 | | | wl_title | varbinary(255) | NO | | | | | wl_notificationtimestamp | varbinary(14) | YES | | NULL | | +--------------------------+------------------+------+-----+---------+----------------+
MediaWiki versions: | 1.10 – 1.26 |
DESCRIBE watchlist;
+--------------------------+------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------------------+------------------+------+-----+---------+-------+ | wl_user | int(10) unsigned | NO | PRI | NULL | | | wl_namespace | int(11) | NO | PRI | 0 | | | wl_title | varbinary(255) | NO | PRI | | | | wl_notificationtimestamp | varbinary(14) | YES | | NULL | | +--------------------------+------------------+------+-----+---------+-------+
MediaWiki versions: | 1.6 – 1.9 |
DESCRIBE watchlist;
+--------------------------+---------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------------------+---------------------+------+-----+---------+-------+ | wl_user | int(5) unsigned | NO | PRI | NULL | | | wl_namespace | int(11) | NO | PRI | 0 | | | wl_title | varchar(255) binary | NO | PRI | NULL | | | wl_notificationtimestamp | varchar(14) binary | YES | | NULL | | +--------------------------+---------------------+------+-----+---------+-------+
MediaWiki version: | 1.5 |
DESCRIBE watchlist;
+--------------------------+---------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------------------+---------------------+------+-----+---------+-------+ | wl_user | int(5) unsigned | NO | PRI | NULL | | | wl_namespace | int(11) | NO | PRI | 0 | | | wl_title | varchar(255) binary | NO | PRI | NULL | | | wl_notificationtimestamp | varchar(14) binary | NO | | NULL | | +--------------------------+---------------------+------+-----+---------+-------+
MediaWiki versions: | 1.1 – 1.4 |
DESCRIBE watchlist;
+--------------+---------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------+---------------------+------+-----+---------+-------+ | wl_user | int(5) unsigned | NO | PRI | NULL | | | wl_namespace | tinyint(2) unsigned | NO | PRI | 0 | | | wl_title | varchar(255) binary | NO | PRI | NULL | | +--------------+---------------------+------+-----+---------+-------+
IndexesEdit
MediaWiki version: | ≥ 1.36 |
SHOW INDEX IN watchlist;
+-----------+------------+-------------------------------+--------------+--------------------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | +-----------+------------+-------------------------------+--------------+--------------------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | watchlist | 0 | PRIMARY | 1 | wl_id | A | 0 | NULL | NULL | | BTREE | | | | watchlist | 0 | wl_user | 1 | wl_user | A | 0 | NULL | NULL | | BTREE | | | | watchlist | 0 | wl_user | 2 | wl_namespace | A | 0 | NULL | NULL | | BTREE | | | | watchlist | 0 | wl_user | 3 | wl_title | A | 0 | NULL | NULL | | BTREE | | | | watchlist | 1 | wl_namespace_title | 1 | wl_namespace | A | 0 | NULL | NULL | | BTREE | | | | watchlist | 1 | wl_namespace_title | 2 | wl_title | A | 0 | NULL | NULL | | BTREE | | | | watchlist | 1 | wl_user_notificationtimestamp | 1 | wl_user | A | 0 | NULL | NULL | | BTREE | | | | watchlist | 1 | wl_user_notificationtimestamp | 2 | wl_notificationtimestamp | A | 0 | NULL | NULL | YES | BTREE | | | +-----------+------------+-------------------------------+--------------+--------------------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
See alsoEdit
- purgeExpiredWatchlistItems.php – maintenance script for deleting expired items from the watchlist and watchlist_expiry tables.