August 23, 2006

サーチプラグインの id

なんのこっちゃなタイトルですが、昨日の Firefox2.0 での SQLite ネタに関連して、サーチプラグインの設定を保存している SQLite のファイルについてメモ。

Firefox1.5 ではサーチプラグインの並び順、表示・非表示の設定はプロファイルふぉるだーの prefs.js ファイルに、サーチプラグインの本体のファイルの保存先は search.rdf に保存されていましたが、Firefox2.0 以降ではこれらが統合され、 search.sqlite (SQLite ヴァージョン3)に保存されています。
ここからが本題、ちょっと気になるのはサーチプラグインに割り当てられている id のことです。この id は INTEGER PRIMARY KEY (整数値の連番が割り当てられていくフィールド)なのですが、現状の Firefox2.0 以降での仕様ではこの連番フィールドをソートしていないことです。
具体的に言うと、サーチプラグインの並び替えや・削除を繰り返していくとこの id の数値がひたすら上がり続けていくのです。
現状の SQLite ヴァージョン3ではこの INTEGER PRIMARY KEY フィールドに格納できる最大値は 2の63乗 - 1 (だいたい21億)なのでエラーがでることは多分ないでしょうが、常用している Firefox2.0 用のプロファイルのサーチプラグインの id が 3800 とかになってたのでちとびっくりしたので。
(もちろんそんな数のサーチプラグインを入れているわけじゃありません。)

id として使用しているので、むやみにソートしないということなのかもしれませんが、サーチプラグインの並び替えの際に現状のデータを書き換えるのでなく新しい順番のデータを追加・元のデータを削除しているようなので、ソートしてもとくに問題なさそうな気はします。

Get Firefox!
この記事へのコメント
コメントを書く
※Name:

Email Address:

URL:

※Comments:

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。