Manual:Comment table

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 contributions. It is also used for recent changes, related changes, watchlists, and, in the case of page creation, for the 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

See also

Category:MediaWiki database tables#comment%20table
Category:MediaWiki database tables