From 975aafa9c166fb39b930833f3c04802f0d245f8c Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Tue, 19 May 2009 21:12:18 +0000 Subject: [PATCH] Fix long delays in Firefox 3.0.10 due to unoptimized SQLite query processing (fixed in SQLite 3.6.8, which is between what's used in Fx3 and Fx3.5) --- triggers.sql | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/triggers.sql b/triggers.sql index 6f58dc3fa3..5e8e22e710 100644 --- a/triggers.sql +++ b/triggers.sql @@ -1,4 +1,4 @@ --- 10 +-- 11 -- Triggers to validate date field DROP TRIGGER IF EXISTS insert_date_field; @@ -260,7 +260,7 @@ CREATE TRIGGER fki_collectionItems_itemID_sourceItemID BEFORE INSERT ON collectionItems FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table "collectionItems" violates foreign key constraint "fki_collectionItems_itemID_sourceItemID"') - WHERE NEW.itemID IN (SELECT itemID FROM items WHERE itemID IN (SELECT itemID FROM itemAttachments WHERE sourceItemID IS NOT NULL) OR itemID IN (SELECT itemID FROM itemNotes WHERE sourceItemID IS NOT NULL)); + WHERE NEW.itemID IN (SELECT itemID FROM itemAttachments WHERE sourceItemID IS NOT NULL UNION SELECT itemID FROM itemNotes WHERE sourceItemID IS NOT NULL); END; DROP TRIGGER IF EXISTS fku_collectionItems_itemID_sourceItemID; @@ -268,7 +268,7 @@ CREATE TRIGGER fku_collectionItems_itemID_sourceItemID BEFORE UPDATE OF itemID ON collectionItems FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "collectionItems" violates foreign key constraint "fku_collectionItems_itemID_sourceItemID"') - WHERE NEW.itemID IN (SELECT itemID FROM items WHERE itemID IN (SELECT itemID FROM itemAttachments WHERE sourceItemID IS NOT NULL) OR itemID IN (SELECT itemID FROM itemNotes WHERE sourceItemID IS NOT NULL)); + WHERE NEW.itemID IN (SELECT itemID FROM itemAttachments WHERE sourceItemID IS NOT NULL UNION SELECT itemID FROM itemNotes WHERE sourceItemID IS NOT NULL); END; DROP TRIGGER IF EXISTS fku_itemAttachments_sourceItemID_collectionItems_itemID;