From ee8c60939a1848d85047c64d73893b55d1f461a0 Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Mon, 28 Jun 2010 16:54:06 +0000 Subject: [PATCH] open a transaction for translatorCache updates --- chrome/content/zotero/xpcom/translate.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/chrome/content/zotero/xpcom/translate.js b/chrome/content/zotero/xpcom/translate.js index 4ce53494b..09d54fe8f 100644 --- a/chrome/content/zotero/xpcom/translate.js +++ b/chrome/content/zotero/xpcom/translate.js @@ -49,7 +49,8 @@ Zotero.Translators = new function() { this.init = function() { _initialized = true; - var start = (new Date()).getTime() + var start = (new Date()).getTime(); + var transactionStarted = false; _cache = {"import":[], "export":[], "web":[], "search":[]}; _translators = {}; @@ -104,6 +105,10 @@ Zotero.Translators = new function() { if(!dbCacheEntry) { // Add cache misses to DB + if(!transactionStarted) { + transactionStarted = true; + Zotero.DB.beginTransaction(); + } Zotero.Translators.cacheInDB(leafName, translator.metadataString, translator.cacheCode ? translator.code : null, lastModifiedTime); delete translator.metadataString; } @@ -120,6 +125,11 @@ Zotero.Translators = new function() { } } + // Close transaction + if(transactionStarted) { + Zotero.DB.commitTransaction(); + } + // Sort by priority var collation = Zotero.getLocaleCollation(); var cmp = function (a, b) {