diff --git a/chrome/content/zotero/xpcom/data/creators.js b/chrome/content/zotero/xpcom/data/creators.js index fcdc2c2a77..bd4876196d 100644 --- a/chrome/content/zotero/xpcom/data/creators.js +++ b/chrome/content/zotero/xpcom/data/creators.js @@ -152,9 +152,11 @@ Zotero.Creators = new function () { delete _cache[toDelete[i]]; } - var sql = "DELETE FROM creators WHERE creatorID NOT IN " - + "(SELECT creatorID FROM itemCreators)"; - await Zotero.DB.queryAsync(sql); + await Zotero.DB.executeTransaction(async function () { + var sql = "DELETE FROM creators WHERE creatorID NOT IN " + + "(SELECT creatorID FROM itemCreators)"; + await Zotero.DB.queryAsync(sql, [], { ignoreDBLock: true }); + }, { disableForeignKeys: true }); } Zotero.Prefs.set('purge.creators', false); diff --git a/chrome/content/zotero/xpcom/zotero.js b/chrome/content/zotero/xpcom/zotero.js index 9776f8e33e..ceea9b1af1 100644 --- a/chrome/content/zotero/xpcom/zotero.js +++ b/chrome/content/zotero/xpcom/zotero.js @@ -1770,9 +1770,7 @@ const { CommandLineOptions } = ChromeUtils.importESModule("chrome://zotero/conte this.purgeDataObjects = async function () { var d = new Date(); - await Zotero.DB.executeTransaction(async function () { - return Zotero.Creators.purge(); - }); + await Zotero.Creators.purge(); await Zotero.DB.executeTransaction(async function () { return Zotero.Tags.purge(); });