Manual:Cur table/fr

La table cur était utilisée dans les anciennes versions des wikis MediaWiki pour enregistrer la révision actuelle des pages.

Dans MediaWiki 1.5 le contenu de la table cur ainsi que celui de la table ' furent fusionnés ensemble et déplacés vers les tables ', ' et '.

Après avoir fait la mise à jour de MediaWiki 1.4 (ou plus ancien) vers une version plus récente, cette table n'est plus nécessaire et elle peut être directement supprimée.

Une façon d'accéder de manière unique à la version actuelle d'un article était via cur_id, mais vous pouvez également utiliser la combinaison cur_title et cur_namespace. Notez qu'il peut exister plusieurs entrées avec le même cur_title dans la table cur, par exemple , Stuff et Talk:Stuff; elles se différencient néanmoins par le champ cur_namespace ; les valeurs entières et leur nom correspondant (par exemple, 1="Talk") sont initialisées dans le fichier LanguageXX.php approprié et sont également affichées en utilisant les variables.

Certaines informations dans la table cur sont relatives à la dernière modification de l'article (qui peut correspondre à sa création, ce qui est indiqué par cur_is_new). cur_text contient le code wiki. cur_comment est le résumé de modification de la dernière mise à jour; cur_user et cur_user_text identifient l'utilisateur qui a fait cette modification, alors que cur_user contient l'ID de cet utilisateur, s'il s'était connecté. cur_timestamp enregistre l'heure et la date de modification, cur_minor_edit conserve l'état de cette case à cocher lors de la sauvegarde.

Les autres champs sont plus ici par raison esthétique :
 * cur_restrictions - indique qui peut modifier cette page. Etant donné la nature de Wikipedia, ce champ sera vide pour tous les articles, sauf pour ceux qui sont protégés.
 * cur_counter - avait servi fut un temps, à enregitrer le nombre d'accès à chaque page. Cette fonction a été désactivée parce qu'elle générait un traffic de base de données trop important et comportait quelques bogues.
 * cur_is_redirect - est une méthode rapide et facile de savoir si cur_text commence par « #REDIRECT ».
 * cur_random - utilisé par la fonction « page au hasard » . enregistre un nombre flottant sélectionné aléatoirement entre 0 et 1. Lorsque quelqu'un visite Special:Random le wiki choisit un autre numéro aléatoire et accède à la page dont le cur_random est le plus proche de cette valeur. Ceci semble beaucoup, beaucoup plus rapide que  avec de grands nombres de pages parce ce que ce n'est qu'une simple recherche d'index de colonne.
 * inverse_timestamp - inverse du champ cur_timestamp pour le classement inverse dans mysql 3.x; ceci n'est plus nécessaire avec mysql 4.x et devrait être supprimé.
 * cur_touched - horodatage pour l'invalidation du cache; mis à jour à l'enregistrement des pages et à la création (ou la suppression) des pages liées

Résumé du schéma
+---+-+--+-+-++ +---+-+--+-+-++ +---+-+--+-+-++
 * Field            | Type                | Null | Key | Default | Extra          |
 * cur_id           | int(8) unsigned     |      | PRI | 0       | auto_increment |
 * cur_namespace    | tinyint(2) unsigned |      | MUL |         |                |
 * cur_title        | varchar(255) binary |      | MUL |         |                |
 * cur_text         | mediumtext          |      |     |         |                |
 * cur_comment      | tinyblob            |      |     |         |                |
 * cur_user         | int(5) unsigned     |      | MUL | 0       |                |
 * cur_user_text    | varchar(255) binary |      | MUL |         |                |
 * cur_timestamp    | varchar(14) binary  |      | MUL |         |                |
 * cur_restrictions | tinyblob            |      |     |         |                |
 * cur_counter      | bigint(20) unsigned |      |     | 0       |                |
 * cur_is_redirect  | tinyint(1) unsigned |      |     | 0       |                |
 * cur_minor_edit   | tinyint(1) unsigned |      |     | 0       |                |
 * cur_is_new       | tinyint(1) unsigned |      |     | 0       |                |
 * cur_random       | double unsigned     |      | MUL | 0       |                |
 * inverse_timestamp | varchar(14) binary |      |     |         |                |
 * cur_touched      | varchar(14) binary  |      |     |         |                |