↑ Manual:Contents | MediaWiki database layout | comment table |
MediaWiki version: | ≥ 1.30 |
The comment table stores edits, blocks, and other actions which typically have a textual comment describing the action. They are stored in a separate table to reduce the size of the main tables, and to allow for de-duplication.
De-duplication is currently best-effort to avoid locking on inserts that would be required for strict de-duplication. There may be multiple rows with the same comment_text and comment_data.
This table was introduced in Gerrit change 357892.
Fields
comment_id
Unique ID to identify each comment.
comment_hash
Hash of comment_text and comment_data, for de-duplication. The current algorithm is a signed CRC32 of the comment text XOR'd with a CRC32 of any comment data.
comment_text
Text comment summarizing the change, e.g. an editor's edit summary.
This text is shown in the history and {{ll|Help:User contributions|contributions}}.
It is also used for {{ll|Help:Recent changes|recent changes}}, {{ll|Help:Related changes|related changes}}, {{ll|Help:Watching pages|watchlists}}, and, in the case of page creation, for the {{ll|Help:New pages|list of new pages}}.
It is rendered in a sanitized subset of wiki markup by MediaWiki\CommentFormatter\CommentFormatter::format()
.
Size limits are enforced at the application level, and should take care to crop UTF-8 strings appropriately.
comment_data
JSON data, intended for localizing auto-generated comments. This holds structured data that is intended to be used to provide localized versions of automatically-generated comments. When not empty, comment_text should be the generated comment localized using the wiki's content language.
Schema
MediaWiki version: | ≥ 1.30 |
DESCRIBE comment;
+--------------+---------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------+---------------------+------+-----+---------+----------------+ | comment_id | bigint(20) unsigned | NO | PRI | NULL | auto_increment | | comment_hash | int(11) | NO | MUL | NULL | | | comment_text | blob | NO | | NULL | | | comment_data | blob | YES | | NULL | | +--------------+---------------------+------+-----+---------+----------------+
Indexes
MediaWiki version: | ≥ 1.30 |
SHOW INDEX IN comment;
+---------+------------+--------------+--------------+--------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | +---------+------------+--------------+--------------+--------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | comment | 0 | PRIMARY | 1 | comment_id | A | 0 | NULL | NULL | | BTREE | | | | comment | 1 | comment_hash | 1 | comment_hash | A | 0 | NULL | NULL | | BTREE | | | +---------+------------+--------------+--------------+--------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
Code stewardship
- Maintained by Core Platform Team .
- Live chat (IRC): #mediawiki-core connect
- Issue tracker: Phabricator MediaWiki-Comment-Store (Report an issue)