Manual:category table

From Linux Web Expert

The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.


Manual:Contents <translate> MediaWiki database layout</translate> <translate> <tvar name=1>category</tvar> table</translate>
MediaWiki version:
<translate> ≥</translate> 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

cat_id

Primary key

cat_title

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

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

cat_subcats

Number of sub-categories in the category.

cat_files

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

cat_hidden

<td class="mw-version-versionbox" title="<translate nowrap> MediaWiki <tvar name=1>1.19</tvar> is unsupported version</translate>">
<translate> ≤</translate> 1.19
MediaWiki version:

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

MediaWiki version:
<translate> ≥</translate> 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       |                |
+-------------+------------------+------+-----+---------+----------------+
<td class="mw-version-versionbox" title="<translate nowrap> MediaWiki <tvar name=1>1.19</tvar> is unsupported version</translate>">
1.13 – 1.19
<translate> MediaWiki versions:</translate>

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

MediaWiki version:
<translate> ≥</translate> 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      |         |               |
+----------+------------+-----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+