2008年2月22日

[mew-dist 28114]cmew へのリクエスト

白井です。

現状 cmew を動かすと

(1) mv id.db id.db.old
(2) create id.db....

という動きになっていますが、(2) で DB 作っている間は "V" が出来

ません。

手元では 50MByte ぐらいの DB 作っていて、速いマシンは 15〜30分ぐ
らいで終わるのだけど、遅いマシン(Windows だからかな?)は相当時間
がかかるのです。そこで、

(1) create id.db.new....
(2) mv id.db id.db.old
mv id.db.new id.db

とすれば、"V" が出来ない空白の時間が無視できるようになると思いま
す。そうすると db.old は実用上必要ないかも。

# というか本音を言うと、少々 DB がでかくなっても良いので、差分だ
# けアップデートって出来ないのかなぁ。。。なのですが :-)

--
白井秀行 (mailto:shirai@xxxxx)

--- cmew.orig 2008-02-20 09:00:10.000000000 +0900
+++ cmew 2008-02-22 14:21:20.419314000 +0900
@@ -19,9 +19,9 @@
##

def create_db(db_file)
- File.rename(db_file, db_file + '.old') if FileTest.exist?(db_file)
+ File.unlink(db_file + '.new') if FileTest.exist?(db_file + '.new')

- db = SQLite3::Database.new(db_file)
+ db = SQLite3::Database.new(db_file + '.new')
sql = 'CREATE TABLE mew(id TEXT, path TEXT, parid TEXT, date TEXT);'
db.execute(sql)
db.transaction
@@ -120,6 +120,10 @@
db.execute('CREATE INDEX mew_id ON mew (id, parid);')
ensure
db.close
+ if FileTest.exist?(db_file + '.new')
+ File.rename(db_file, db_file + '.old') if FileTest.exist?(db_file)
+ File.rename(db_file + '.new', db_file)
+ end
end

# Copyright (C) 2008 Mew developing team.

投稿者 xml-rpc : 2008年2月22日 14:31
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/70225
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。