mozilla
Your Search Results

    The Places database

    このドキュメントでは、Places システムで使われているデータベース設計全体の高レベルの概要を説明します。Places は、Storage を用いることで、Firefox のブックマークと履歴システムを完全に置き換えるものとして設計されました。

    コアとなる URL テーブル

    • moz_places: これは URI の主テーブルで、履歴サービス によって管理されています (履歴サービスの設計 も参照してください)。Places のコンポーネントが URL を参照して、訪問済みかどうかを確認するたびに、このテーブルが参照されます。各エントリには、ページのお気に入りアイコン (favicon) を特定するための moz_favicon テーブルに対する任意の参照が含まれます。

    履歴テーブル

    • moz_historyvisits: ページを開くたびに、このテーブル内にエントリがひとつ作成されます。エントリには、日付、リファラ、その訪問に固有のその他の情報が含まれます。この情報には、URL やその他グローバルな統計を含む moz_places テーブルへの参照が含まれます。

    詳しくは 履歴サービスの設計 を参照してください。

    ブックマークテーブル

    • moz_bookmarks: このテーブルには、ブックマークやフォルダ、区切り線、タグが含まれ、階層構造が定義されています。階層構造は、親である moz_bookmarks レコードを参照している親カラムを通じて定義されています。
    • moz_bookmarks_roots: ブックマークシステム内で特定の種類の内容のためのルートフォルダとなっている、特別なフォルダが含まれます。このテーブル内のレコードは moz_bookmarks テーブル内のレコードへマップされています。ブックマークやフォルダ、区切り線は、ブックマークルートの子孫ですが、タグやタグ付けされた URI はタグルートの子孫です。
    • moz_keywords: このテーブルはキーワードのための独自リストです。moz_bookmarks テーブルには、moz_keywords テーブル内のレコードにマップされている keyword_id 列が含まれています。

    詳しくは 履歴サービスの設計 を参照してください。

    注釈テーブル

    • moz_anno_attributes: システム内のすべての注釈名と名前 ID が含まれます。比較的少数の固有名があります。
    • moz_annos: ページの注釈の値が含まれます。ページ (moz_places への参照) と注釈の名前 (moz_anno_attributes への参照) を注釈の値へとマップしています。
    • moz_items_annos: ブックマークアイテムの注釈の値が含まれます。ブックマーク、フォルダ、区切り線 (moz_bookmarks への参照) と注釈の名前 (moz_anno_attributes への参照) を注釈の値へとマップしています。

    お気に入りアイコンテーブル

    • moz_favicon: 固有のお気に入りアイコン (favicon) URI とデータのリストが含まれます。moz_places 内の 1 つ以上のページが各エントリを参照しています。favicon を参照しているページがない場合、そのアイコンエントリは削除されます。

    有効期限

    有効期限は browser/components/places/src/nsNavHistoryExpire.cpp によって処理されています。このアルゴリズムは、Places システム内のすべてのオブジェクトの存続期間を判別しています。

    アプリケーションを実行中、期限切れのページに関して以下の処理が定期的に行われます。

    • 履歴の有効期限を示すしきい値よりも古い訪問が期限切れとなります。
    • 期限切れとなった訪問から参照された履歴エントリが、他の期限切れでない履歴やブックマークから参照されていない場合、削除されます。
    • 期限切れとなった履歴エントリのための favicon が、他の履歴エントリから参照されていない場合、削除されます。
    • 未実装: 期限切れとなったページに関する注釈が削除されます。

    アプリケーションの終了時に、他に孤立しているエントリが存在する場合を考慮して、以下のような追加処理が実行されます。孤立エントリが作成されるきっかけは、markPageAsTyped が呼び出されたものの、そのページが一度も訪問されていない場合など、いくつかあります。また、拡張機能によって、一度も訪問してないページの favicon が設定される場合もあります。

    • 訪問されていない、ブックマークされていない、あるいは place: URI ではない履歴エントリが削除されます。
    • どの履歴エントリからも参照されていない favicon が削除されます。

    ドキュメントのタグと貢献者

    Contributors to this page: Kohei
    最終更新者: Kohei,