返信先: Update Database

フォーラム TuneBrowser Update Database 返信先: Update Database

#2074
Tiki
キーマスター

こんにちわ。続報と訂正です。

まずTuneBrowserのタグ編集(プロパティ)で値を編集しても反映されないことがある件ですが、以下のようなケースだと発生しそうです。

あるタグがファイルには”0″と記録されていて、それがTuneBrowserのデータベースには”1″と登録されているとします。この状況は、ファイルが更新されたときに他のアプリよってロックされていたりすると、ふつうに発生します。

ここでTuneBrowserのタグ編集で(“1″だと思っているので)”0″に書き換えて保存すると、ファイルに書く前にファイルの内容を読み取り(その結果はファイルにある”0″です)、編集後の値”0″と比較して、変更がないために、実際にはファイルには書き込まれません。そしてファイルの更新がなかったためにデータベースへの更新も行われず、結果としてはデータベースには”1″のまま残ります。これは何回”1″に変更して保存しても、同じ状況がつづきます。

どうしたらよいか? というのは悩み中です。ファイル更新がなくてもデータベースに保存するようにすると、大量のファイルのタグ編集に対してごく一部しか変更していない場合でも、長い保存時間がかかってしまうことになります。GUI上で「編集した」という情報を覚えておいて強制更新しようとすると、全タグ・全データにそのフラグを加えることになり、あまりに効率が良くありません。

それから、右クリックメニューでの「データの更新」ですが、「いまは手動クロールとだいたいおなじ」と申し上げましたが、ひとつ大きなちがいがありました。手動クロールは一般的なクロールと同様、ファイルのタイムスタンプで更新判断をして速度効率を稼いでいますが、「データの更新」はユーザからの明示的な指示ということで、かならず指定されたファイルの読み取りを行います。

今回のケースでは、手動クロールや自動クロールでは、タイムスタンプが更新されないので読み取り損ねた”0″はいつまでも更新されませんが、データの更新を行うと、あらためてファイルを読み取ることでデータベースとの差異に気が付きますので、データベースの内容が”1″に是正されると思います。