Manuel:table categorylinks
| Version de MediaWiki : | ≥ 1.3 |
La table categorylinks enregistre les entrées correspondant aux liens de la forme [[Category:Title]] ou [[Category:Title|sortkey]] qui, dès qu'ils sont placés n'importe où sur une page, placent cette page dans la catégorie nommée Title (pour laquelle une page associée peu exister ou pas).
Les liens qui commencent par un caractère deux-points tels que [[:Category:Title]], ne sont pas rangés dans la table categorylinks mais sont gérés comme des liens internes classiques (conduisant dans ce cas à la page Category:Title).
Les parties modifiables des pages de catégorie sont enregistrées comme les autres pages.
Il existe quatre index qui nous aident à l'amélioration des performances :
- La concaténation de
cl_frometcl_to(pour savoir quand un article a été modifié) - La concaténation de
cl_to,cl_type,cl_sortkey, etcl_from(pour afficher les articles dans l'ordre) - La concaténation de
cl_toetcl_timestamp - cl_collation
Champs
cl_from
Enregistre le page.page_id de l'article sur lequel le lien a été placé.
cl_sortkey
Enregistre le titre par lequel la page sera triée dans une liste de catégorie. Ceci est la clé de tri binaire qui, en fonction de $collation peut (ou ne peut pas) être lue par un humain (mais qui doit classer dans le bon ordre lorsqu'elle est comparée avec une chaîne d'octets) This is the binary sortkey, that depending on $wgCategoryCollation may or may not be readable by a human (but should sort in correct order when comparing as a byte string), and is not valid UTF-8 whenever the database truncates the sortkey in the middle of a multi-byte sequence.
cl_timestamp
Enregistre la date à laquelle ce lien a été dernièrement mis à jour dans la table.
cl_sortkey_prefix
Il s'agit soit de la chaîne vide si une page utilise la clé de tri par défaut (c'est à dire que la clé de tri n'est pas spécifiée). Sinon, il s'agit de la version de cl_sortkey lisible par un humain. Nécessite la plupart du temps que cl_sortkey soit facilement mise à jour dans certaines situations sans réanalyser la page entière.
Sinon il s'agit de la version lisible par un humain de la première partie de cl_sortkey.
Obligatoire le plus souvent pour que cl_sortkey soit facilement mis à jour dans certaines situations sans avoir à réanalyser la page entière.
Les dernières valeurs ajoutées récemment sont du UTF-8 valide (voir gerrit:449280).
cl_type
De quel type de page s'agit-il : (file, subcat (sous-catégorie) ou page (page normale)). Utilisé de sorte à ce que les différentes sections d'une page de catégorie puissent être regroupées indépendamment et de manière efficace.
Used so that the different sections on a category page can be paged independently in an efficient manner.
cl_collation_id
| Version de MediaWiki : | ≥ 1.44 Gerrit change 1112833 |
Foreign key to collation.collation_id.
cl_target_id
| Version de MediaWiki : | ≥ 1.44 Gerrit change 1112833 |
Foreign key to linktarget.lt_id.
Removed fields
cl_collation
| Versions de MediaWiki : | 1.17 – 1.44 Gerrit change 1182144 |
Indique la collation en cours. Si la collation est modifiée, le script updateCollation.php connaît ainsi les lignes à corriger dans la base de données.
cl_to
| Version de MediaWiki : | ≤ 1.44 Gerrit change 1182144 |
Enregistre le nom de la catégorie souhaitée dans le format page_title (c'est à dire avec _ et en supprimant le préfixe l'espace de noms).
Résumé du schéma
| Version de MediaWiki : | ≥ 1.45 |
DESCRIBE categorylinks;
+-------------------+------------------------------+------+-----+---------------------+-------------------------------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+------------------------------+------+-----+---------------------+-------------------------------+
| cl_from | int(10) unsigned | NO | PRI | 0 | |
| cl_sortkey | varbinary(230) | NO | | | |
| cl_sortkey_prefix | varbinary(255) | NO | | | |
| cl_timestamp | timestamp | NO | | current_timestamp() | on update current_timestamp() |
| cl_type | enum('page','subcat','file') | NO | | page | |
| cl_collation_id | smallint(5) unsigned | NO | | 0 | |
| cl_target_id | bigint(20) unsigned | YES | MUL | NULL | |
+-------------------+------------------------------+------+-----+---------------------+-------------------------------+
| Version de MediaWiki : | 1.44 |
DESCRIBE categorylinks;
+-------------------+------------------------------+------+-----+---------------------+-------------------------------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+------------------------------+------+-----+---------------------+-------------------------------+
| cl_from | int(10) unsigned | NO | PRI | 0 | |
| cl_to | varbinary(255) | NO | PRI | | |
| cl_sortkey | varbinary(230) | NO | | | |
| cl_sortkey_prefix | varbinary(255) | NO | | | |
| cl_timestamp | timestamp | NO | | current_timestamp() | on update current_timestamp() |
| cl_collation | varbinary(32) | NO | | | |
| cl_type | enum('page','subcat','file') | NO | | page | |
| cl_collation_id | smallint(5) unsigned | NO | | 0 | |
| cl_target_id | bigint(20) unsigned | YES | MUL | NULL | |
+-------------------+------------------------------+------+-----+---------------------+-------------------------------+
| Versions de MediaWiki : | 1.17 – 1.43 |
DESCRIBE categorylinks;
+-------------------+------------------------------+------+-----+-------------------+-----------------------------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+------------------------------+------+-----+-------------------+-----------------------------+
| cl_from | int(10) unsigned | NO | PRI | 0 | |
| cl_to | varbinary(255) | NO | PRI | | |
| cl_sortkey | varbinary(230) | NO | | | |
| cl_sortkey_prefix | varbinary(255) | NO | | | |
| cl_timestamp | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
| cl_collation | varbinary(32) | NO | MUL | | |
| cl_type | enum('page','subcat','file') | NO | | page | |
+-------------------+------------------------------+------+-----+-------------------+-----------------------------+
| Versions de MediaWiki : | 1.10 – 1.16 |
DESCRIBE categorylinks;
+--------------+------------------+------+-----+-------------------+-----------------------------+ | Field | Type | Null | Key | Default | Extra | +--------------+------------------+------+-----+-------------------+-----------------------------+ | cl_from | int(10) unsigned | NO | PRI | 0 | | | cl_to | varbinary(255) | NO | PRI | | | | cl_sortkey | varbinary(70) | NO | | | | | cl_timestamp | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP | +--------------+------------------+------+-----+-------------------+-----------------------------+
| Versions de MediaWiki : | 1.5 – 1.9 |
DESCRIBE categorylinks;
+--------------+-----------------+------+-----+-------------------+-----------------------------+ | Field | Type | Null | Key | Default | Extra | +--------------+-----------------+------+-----+-------------------+-----------------------------+ | cl_from | int(8) unsigned | NO | PRI | 0 | | | cl_to | varchar(255) | NO | PRI | | | | cl_sortkey | varchar(86) | NO | | | | | cl_timestamp | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP | +--------------+-----------------+------+-----+-------------------+-----------------------------+
| Versions de MediaWiki : | 1.3 – 1.4 |
DESCRIBE categorylinks;
+--------------+-----------------+------+-----+-------------------+-----------------------------+ | Field | Type | Null | Key | Default | Extra | +--------------+-----------------+------+-----+-------------------+-----------------------------+ | cl_from | int(8) unsigned | NO | PRI | 0 | | | cl_to | varchar(255) | NO | PRI | | | | cl_sortkey | varchar(255) | NO | | | | | cl_timestamp | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP | +--------------+-----------------+------+-----+-------------------+-----------------------------+
Les index
| Version de MediaWiki : | ≥ 1.44 |
SHOW INDEX IN categorylinks;
+---------------+------------+---------------+--------------+--------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | +---------------+------------+---------------+--------------+--------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | categorylinks | 0 | PRIMARY | 1 | cl_from | A | 0 | NULL | NULL | | BTREE | | | | categorylinks | 0 | PRIMARY | 2 | cl_to | A | 0 | NULL | NULL | | BTREE | | | | categorylinks | 1 | cl_sortkey | 1 | cl_to | A | 0 | NULL | NULL | | BTREE | | | | categorylinks | 1 | cl_sortkey | 2 | cl_type | A | 0 | NULL | NULL | | BTREE | | | | categorylinks | 1 | cl_sortkey | 3 | cl_sortkey | A | 0 | NULL | NULL | | BTREE | | | | categorylinks | 1 | cl_sortkey | 4 | cl_from | A | 0 | NULL | NULL | | BTREE | | | | categorylinks | 1 | cl_timestamp | 1 | cl_to | A | 0 | NULL | NULL | | BTREE | | | | categorylinks | 1 | cl_timestamp | 2 | cl_timestamp | A | 0 | NULL | NULL | | BTREE | | | | categorylinks | 1 | cl_sortkey_id | 1 | cl_target_id | A | 0 | NULL | NULL | YES | BTREE | | | | categorylinks | 1 | cl_sortkey_id | 2 | cl_type | A | 0 | NULL | NULL | | BTREE | | | | categorylinks | 1 | cl_sortkey_id | 3 | cl_sortkey | A | 0 | NULL | NULL | | BTREE | | | | categorylinks | 1 | cl_sortkey_id | 4 | cl_from | A | 0 | NULL | NULL | | BTREE | | | +---------------+------------+---------------+--------------+--------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
Voir aussi
Liens externes
- Exemple Page listant quelques catégories.