Manual:category table

From mediawiki.org
Manual:Contents MediaWiki database layout category table
MediaWiki version:
1.13

The category table tracks all existing categories. Something is a category if it has an entry somewhere in categorylinks table

Categories might not have corresponding pages, so they need to be tracked separately. cat_pages, cat_subcats, and cat_files are signed to make underflow more obvious.

The pages and sub-categories are stored in the categorylinks table.
Information regarding which categories are hidden is stored in the page_props table.
The number fields are signed to make underflow more obvious. We make the first number include the second two for better sorting: subtracting for display is easy, adding for ordering is not.
If the information in this table is incorrect, run the maintenance scripts populateCategory.php and/or cleanupEmptyCategories.php , if necessary with the --force option.

Fields[edit]

cat_id[edit]

Primary key

cat_title[edit]

Name of the category, in the same form as page .page_title (with underscores). If there is a category page corresponding to this category, by definition, it has this name (in the Category namespace).

cat_pages[edit]

Number of pages in the category. This number includes the number of subcategories and the number of files.

cat_subcats[edit]

Number of sub-categories in the category.

cat_files[edit]

Number of files (i.e. Image: namespace members) in the category.

cat_hidden[edit]

MediaWiki version:
1.19

Was reserved for future use; apparently no one found a use for it because it was removed in v1.20. Instead, the status of hidden categories is stored in the page_props table as the property "hiddencat" in pp_propname.

Schema summary[edit]

MediaWiki version:
1.20

DESCRIBE category;

+-------------+------------------+------+-----+---------+----------------+
| Field       | Type             | Null | Key | Default | Extra          |
+-------------+------------------+------+-----+---------+----------------+
| cat_id      | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| cat_title   | varbinary(255)   | NO   | UNI | NULL    |                |
| cat_pages   | int(11)          | NO   | MUL | 0       |                |
| cat_subcats | int(11)          | NO   |     | 0       |                |
| cat_files   | int(11)          | NO   |     | 0       |                |
+-------------+------------------+------+-----+---------+----------------+
MediaWiki versions:
1.13 – 1.19

DESCRIBE category;

+-------------+---------------------+------+-----+---------+----------------+
| Field       | Type                | Null | Key | Default | Extra          |
+-------------+---------------------+------+-----+---------+----------------+
| cat_id      | int(10) unsigned    | NO   | PRI | NULL    | auto_increment |
| cat_title   | varbinary(255)      | NO   | UNI | NULL    |                |
| cat_pages   | int(11)             | NO   | MUL | 0       |                |
| cat_subcats | int(11)             | NO   |     | 0       |                |
| cat_files   | int(11)             | NO   |     | 0       |                |
| cat_hidden  | tinyint(3) unsigned | NO   |     | 0       |                |
+-------------+---------------------+------+-----+---------+----------------+

Indexes[edit]

MediaWiki version:
1.13

SHOW INDEX IN category;

+----------+------------+-----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table    | Non_unique | Key_name  | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+----------+------------+-----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| category |          0 | PRIMARY   |            1 | cat_id      | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
| category |          0 | cat_title |            1 | cat_title   | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
| category |          1 | cat_pages |            1 | cat_pages   | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
+----------+------------+-----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+