Addresses #513, Deleted Items folder
- Still experimental, but committing for testing - Sync conflicts with deleted items aren't yet supported Unrelated: deprecated ZoteroPane.deleteSelectedItem() in favor of more accurately named deleteSelectedItems()
This commit is contained in:
parent
6709555dd9
commit
eb79a0f659
16 changed files with 359 additions and 57 deletions
37
triggers.sql
37
triggers.sql
|
@ -1,4 +1,4 @@
|
|||
-- 3
|
||||
-- 4
|
||||
|
||||
-- Triggers to validate date field
|
||||
DROP TRIGGER IF EXISTS insert_date_field;
|
||||
|
@ -807,6 +807,41 @@ CREATE TRIGGER fku_savedSearches_savedSearchID_savedSearchConditions_savedSearch
|
|||
UPDATE savedSearchConditions SET savedSearchID=NEW.savedSearchID WHERE savedSearchID=OLD.savedSearchID;
|
||||
END;
|
||||
|
||||
|
||||
-- deletedItems/itemID
|
||||
-- savedSearchConditions/savedSearchID
|
||||
DROP TRIGGER IF EXISTS fki_deletedItems_itemID_items_itemID;
|
||||
CREATE TRIGGER fki_deletedItems_itemID_items_itemID
|
||||
BEFORE INSERT ON deletedItems
|
||||
FOR EACH ROW BEGIN
|
||||
SELECT RAISE(ABORT, 'insert on table "deletedItems" violates foreign key constraint "fki_deletedItems_itemID_items_itemID"')
|
||||
WHERE (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0;
|
||||
END;
|
||||
|
||||
DROP TRIGGER IF EXISTS fku_deletedItems_itemID_items_itemID;
|
||||
CREATE TRIGGER fku_deletedItems_itemID_items_itemID
|
||||
BEFORE UPDATE OF itemID ON deletedItems
|
||||
FOR EACH ROW BEGIN
|
||||
SELECT RAISE(ABORT, 'update on table "deletedItems" violates foreign key constraint "fku_deletedItems_itemID_items_itemID"')
|
||||
WHERE (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0;
|
||||
END;
|
||||
|
||||
DROP TRIGGER IF EXISTS fkd_deletedItems_itemID_items_itemID;
|
||||
CREATE TRIGGER fkd_deletedItems_itemID_items_itemID
|
||||
BEFORE DELETE ON items
|
||||
FOR EACH ROW BEGIN
|
||||
SELECT RAISE(ABORT, 'delete on table "items" violates foreign key constraint "fkd_deletedItems_itemID_items_itemID"')
|
||||
WHERE (SELECT COUNT(*) FROM deletedItems WHERE itemID = OLD.itemID) > 0;
|
||||
END;
|
||||
|
||||
DROP TRIGGER IF EXISTS fku_items_itemID_deletedItems_itemID;
|
||||
CREATE TRIGGER fku_items_itemID_deletedItems_itemID
|
||||
AFTER UPDATE OF itemID ON items
|
||||
FOR EACH ROW BEGIN
|
||||
UPDATE deletedItems SET itemID=NEW.itemID WHERE itemID=OLD.itemID;
|
||||
END;
|
||||
|
||||
|
||||
-- syncDeleteLog/syncObjectTypeID
|
||||
DROP TRIGGER IF EXISTS fki_syncDeleteLog_syncObjectTypeID_syncObjectTypes_syncObjectTypeID;
|
||||
CREATE TRIGGER fki_syncDeleteLog_syncObjectTypeID_syncObjectTypes_syncObjectTypeID
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue