[Bbs2ch-cvs 397] [379] データベース最適化時に購読していない板の情報を削除するようにした

Back to archive index

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");


bbs2ch-cvs メーリングリストの案内
Back to archive index