Old テーブル: Difference between revisions

From Meta, a Wikimedia project coordination wiki
Content deleted Content added
Suisui (talk | contribs)
mNo edit summary
Suisui (talk | contribs)
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>< [[メディアウィキアーキテクチャ]] < [[データベースレイアウト]]</small>
<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  |      |     |         |                |
+-------------------+---------------------+------+-----+---------+----------------+