Manual:Comment table/en

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 and.

This table was introduced in.

comment_id
Unique ID to identify each comment.

comment_hash
Hash of and, 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. It is also used for, , , and, in the case of page creation, for the. It is rendered in a sanitized subset of wiki markup by. 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, should be the generated comment localized using the wiki's content language.

Schema
+--+-+--+-+-++ +--+-+--+-+-++ +--+-+--+-+-++
 * 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
 +-++--+--+--+---+-+--++--++-+---+ +-++--+--+--+---+-+--++--++-+---+ +-++--+--+--+---+-+--++--++-+---+
 * 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      |         |               |