Příručka:Databázová tabulka cur
↑ Manuál:Obsah | MediaWiki schéma databáze | Tabulka cur |
Verze MediaWiki: | ≤ 1.4 |
Tabulka cur
byla použita ve starších verzích wikin MediaWiki k uložení aktuální revize stránky.
V MediaWiki 1.5 byl obsah tabulky cur
a tabulky old sloučen dohromady a přesunut do tabulek page , revision a text .
Po spuštění aktualizačního programu při aktualizaci z MediaWiki 1.4 nebo starší na novější verzi již tato tabulka není potřeba a lze ji bezpečně smazat.
Jeden způsob jedinečného přístupu k aktuální verzi článku byl přes cur_id
, jiný je prostřednictvím kombinace cur_title
a cur_namespace
.
Všimněte si, že v tabulce cur
může být několik položek se stejným cur_title
, například "Stuff" a "Talk:Stuff" se budou lišit v poli cur_namespace
. Celočíselné hodnoty a jejich odpovídající názvy (např. 1="Talk") jsou nastaveny v příslušném souboru LanguageXX.php a jsou také zobrazeny pomocí proměnných.
Některé informace v tabulce cur
se týkají poslední změny článku (což může být jeho vytvoření, které je označeno cur_is_new
).
cur_text
obsahuje wikitext.
cur_comment
je shrnutí úprav poslední změny. cur_user
a cur_user_text
identifikují uživatele, který provedl tuto změnu, kde cur_user
má ID tohoto uživatele, pokud byl přihlášen.
cur_timestamp
zaznamenává čas a datum změny, cur_minor_edit
nese stav tohoto zaškrtávacího políčka při uložení.
Ostatní pole slouží převážně k dekorativním účelům:
- cur_restrictions - říká, kdo může upravovat tuto stránku. Vzhledem k povaze Wikipedie bude toto pole prázdné pro všechny články kromě chráněných.
- cur_counter - kdysi měla počítat zobrazení každé stránky. Tato funkce byla vypnuta kvůli velkému provozu databáze a některým chybám.
- cur_is_redirect - je rychlý a snadný způsob, jak zkontrolovat, zda
cur_text
začíná "#REDIRECT" (přesměrovat). - cur_random - používá funkce "náhodné stránky". Ukládá náhodně vybrané číslo s plovoucí desetinnou čárkou mezi 0 a 1. Když někdo navštíví Special:Random, wiki vybere další náhodné číslo a vezme stránku s nejbližší hodnotou
cur_random
. Zdá se, že je to mnohem, mnohem rychlejší než 'ORDER BY RAND() LIMIT 1' s velkým počtem stránek, protože jde o jednoduché vyhledávání v indexu sloupců. - inverse_timestamp - inverzní k poli
cur_timestamp
pro zpětné řazení na mysql 3.x; to není nutné na mysql 4.x a v určitém okamžiku by mělo být odstraněno. - cur_touched - časové razítko pro zneplatnění mezipaměti. Aktualizováno při uložení stránky a vytvoření/smazání propojených stránek
Přehled změn ve schématu tabulky
Verze MediaWiki: | ≤ 1.4 |
DESCRIBE cur;
+-------------------+---------------------+------+-----+---------+----------------+ | 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 | | | | | +-------------------+---------------------+------+-----+---------+----------------+
Indexy
Verze MediaWiki: | 1.4 |
SHOW INDEX IN cur;
+-------+------------+------------------------------+--------------+-------------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | +-------+------------+------------------------------+--------------+-------------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | cur | 0 | PRIMARY | 1 | cur_id | A | 0 | NULL | NULL | | BTREE | | | | cur | 0 | name_title | 1 | cur_namespace | A | 0 | NULL | NULL | | BTREE | | | | cur | 0 | name_title | 2 | cur_title | A | 0 | NULL | NULL | | BTREE | | | | cur | 1 | cur_title | 1 | cur_title | A | 0 | 20 | NULL | | BTREE | | | | cur | 1 | cur_timestamp | 1 | cur_timestamp | A | 0 | NULL | NULL | | BTREE | | | | cur | 1 | cur_random | 1 | cur_random | A | 0 | NULL | NULL | | BTREE | | | | cur | 1 | name_title_timestamp | 1 | cur_namespace | A | 0 | NULL | NULL | | BTREE | | | | cur | 1 | name_title_timestamp | 2 | cur_title | A | 0 | NULL | NULL | | BTREE | | | | cur | 1 | name_title_timestamp | 3 | inverse_timestamp | A | 0 | NULL | NULL | | BTREE | | | | cur | 1 | user_timestamp | 1 | cur_user | A | 0 | NULL | NULL | | BTREE | | | | cur | 1 | user_timestamp | 2 | inverse_timestamp | A | 0 | NULL | NULL | | BTREE | | | | cur | 1 | usertext_timestamp | 1 | cur_user_text | A | 0 | NULL | NULL | | BTREE | | | | cur | 1 | usertext_timestamp | 2 | inverse_timestamp | A | 0 | NULL | NULL | | BTREE | | | | cur | 1 | namespace_redirect_timestamp | 1 | cur_namespace | A | 0 | NULL | NULL | | BTREE | | | | cur | 1 | namespace_redirect_timestamp | 2 | cur_is_redirect | A | 0 | NULL | NULL | | BTREE | | | | cur | 1 | namespace_redirect_timestamp | 3 | cur_timestamp | A | 0 | NULL | NULL | | BTREE | | | | cur | 1 | id_title_ns_red | 1 | cur_id | A | 0 | NULL | NULL | | BTREE | | | | cur | 1 | id_title_ns_red | 2 | cur_title | A | 0 | NULL | NULL | | BTREE | | | | cur | 1 | id_title_ns_red | 3 | cur_namespace | A | 0 | NULL | NULL | | BTREE | | | | cur | 1 | id_title_ns_red | 4 | cur_is_redirect | A | 0 | NULL | NULL | | BTREE | | | +-------+------------+------------------------------+--------------+-------------------+-----------+-------------+----------+--------+------+------------+---------+---------------+