Old テーブル: Difference between revisions
Content deleted Content added
mNo edit summary |
mNo edit summary |
||
Line 1: | Line 1: | ||
<small>Other languages: [[Old table|English]]...[[Meta:Interlanguage links|''Translate this page!'']] 英語版がオリジナルです。</small> |
<small>Other languages: [[Old table|English]]...[[Meta:Interlanguage links|''Translate this page!'']] 英語版がオリジナルです。</small> |
||
<smal>< [[ |
<smal>< [[Help:Mediawikiアーキテクチャ]] < [[Help:データベースレイアウト]]</small> |
||
'''old table'''(old テーブル)は各ページの過去の版を保存するためのテーブルです。ほとんどのフィールドは [[cur テーブル]]のフィールドと一致します。 |
'''old table'''(old テーブル)は各ページの過去の版を保存するためのテーブルです。ほとんどのフィールドは [[cur テーブル]]のフィールドと一致します。 |
Revision as of 03:11, 30 September 2004
Other languages: English...Translate this page! 英語版がオリジナルです。
<smal>< Help:Mediawikiアーキテクチャ < Help:データベースレイアウト
old table(old テーブル)は各ページの過去の版を保存するためのテーブルです。ほとんどのフィールドは cur テーブルのフィールドと一致します。
古い版のテキストは old_flag フィールドが示した位置に gzip で圧縮して保存されています。圧縮には PHP関数の gzdeflate を使用しています。そのため、PHPで読み出す場合以外には gzip ヘッダがなく、ウィンドウサイズが -1 に指定されている事に注意する必要があります。
old_id は各版に付けられた固有のインデックスであり、いくつか注意点が有ります。
- cur テーブルは常に最新の版を old テーブルとは別に保存しているため、old テーブルの id は cur により新しい版が保存されるまで生成されません。
- archive テーブルはページの ID を保存しないため、一度削除し、restor したページのID は異なったものとなります。(削除したページの old_id が再利用される事は有りません。)
- old_id は必ずしも作成順に付けられるとは限らず、ページの版間での差分を作成するためだけに使用されます。
old_timestamp についても個別に作成されるものであるため、あるページの履歴の中で必ずしも固有の値を持つとは限りません。
oldテーブルの構造
"DESCRIBE old" の情報:
+-------------------+---------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------------+---------------------+------+-----+---------+----------------+ | old_id | int(8) unsigned | | PRI | NULL | auto_increment | | old_namespace | tinyint(2) unsigned | | | 0 | | | old_title | varchar(255) binary | | | | | | old_text | mediumtext | | | | | | old_comment | tinyblob | | | | | | old_user | int(5) unsigned | | | 0 | | | old_user_text | varchar(255) binary | | | | | | old_timestamp | varchar(14) binary | | | | | | old_minor_edit | tinyint(1) | | | 0 | | | old_flags | tinyblob | | | | | | inverse_timestamp | varchar(14) binary | | | | | +-------------------+---------------------+------+-----+---------+----------------+