svnno****@sourc*****
svnno****@sourc*****
2008年 2月 17日 (日) 21:28:42 JST
Revision: 379 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=bbs2ch&view=rev&rev=379 Author: flyson Date: 2008-02-17 21:28:42 +0900 (Sun, 17 Feb 2008) Log Message: ----------- データベース最適化時に購読していない板の情報を削除するようにした Modified Paths: -------------- trunk/bbs2chreader/chrome/content/bbs2chreader/board/log-manager.js -------------- next part -------------- Modified: trunk/bbs2chreader/chrome/content/bbs2chreader/board/log-manager.js =================================================================== --- trunk/bbs2chreader/chrome/content/bbs2chreader/board/log-manager.js 2008-02-16 22:37:46 UTC (rev 378) +++ trunk/bbs2chreader/chrome/content/bbs2chreader/board/log-manager.js 2008-02-17 12:28:42 UTC (rev 379) @@ -84,6 +84,18 @@ function delayVacuum(){ var database = gB2rStorageService.database; var beforeDatabaseSize = database.databaseFile.clone().fileSize / 1024; + + // スレを読んだことのない板情報を削除 + database.beginTransaction(); + try{ + database.executeSimpleSQL("DELETE FROM board_data WHERE board_id IN (SELECT board_id FROM board_data EXCEPT SELECT board_id FROM thread_data);"); + database.executeSimpleSQL("DELETE FROM board_subject WHERE board_id IN (SELECT board_id FROM board_subject EXCEPT SELECT board_id FROM thread_data);"); + }catch(ex){ + Components.utils.reportError(ex); + }finally{ + database.commitTransaction(); + } + database.executeSimpleSQL("VACUUM"); var afterDatabaseSize = database.databaseFile.clone().fileSize / 1024; alert("データベースを最適化しました\n" + beforeDatabaseSize +"KB > "+ afterDatabaseSize +"KB");