[mew-dist 28114] cmew へのリクエスト
Hideyuki SHIRAI ( 白井秀行 )
shirai at example.com
2008年 2月 22日 (金) 14:31:00 JST
白井です。
現状 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 at example.com)
--- 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.
Mew-dist メーリングリストの案内