www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | Submodules | README | LICENSE

commit 28ca0a3599308c513feb55f12f1904a790e1dcca
parent d5439363070f5f0f48b02fc778a591ac65955d3e
Author: Dan Stillman <dstillman@zotero.org>
Date:   Thu, 15 Aug 2013 17:35:16 -0400

Fix DB initialization with async DB access

Also fix the initial repository check to trigger after initialization is
complete instead of waiting

Diffstat:
Mchrome/content/zotero/preferences/preferences_general.js | 6++++--
Mchrome/content/zotero/xpcom/db.js | 45+++++++++++++++++++++++++++++++++++++++++++++
Mchrome/content/zotero/xpcom/schema.js | 76+++++++++++++++++++++++++++++++++++-----------------------------------------
Mresource/schema/triggers.sql | 350++++++++++++++++++++++++++++++++++++++++---------------------------------------
4 files changed, 260 insertions(+), 217 deletions(-)

diff --git a/chrome/content/zotero/preferences/preferences_general.js b/chrome/content/zotero/preferences/preferences_general.js @@ -53,7 +53,8 @@ Zotero_Preferences.General = { updateTranslators: function () { - Zotero.Schema.updateFromRepository(true, function (xmlhttp, updated) { + Zotero.Schema.updateFromRepository(true) + .then(function (updated) { var button = document.getElementById('updateButton'); if (button) { if (updated===-1) { @@ -71,6 +72,7 @@ Zotero_Preferences.General = { Zotero_Preferences.Cite.refreshStylesList(); } } - }); + }) + .done(); } } diff --git a/chrome/content/zotero/xpcom/db.js b/chrome/content/zotero/xpcom/db.js @@ -1005,6 +1005,51 @@ Zotero.DBConnection.prototype.columnQueryAsync = function (sql, params) { }; +Zotero.DBConnection.prototype.tableExistsAsync = function (table) { + return this._getConnectionAsync() + .then(function () { + var sql = "SELECT COUNT(*) FROM sqlite_master WHERE type='table' AND tbl_name=?"; + return Zotero.DB.valueQueryAsync(sql, [table]); + }) + .then(function (count) { + return !!count; + }); +} + + +/** + * Parse SQL string and execute transaction with all statements + * + * @return {Promise} + */ +Zotero.DBConnection.prototype.executeSQLFile = function (sql) { + var nonCommentRE = /^[^-]/; + var trailingCommentRE = /^(.*?)(?:--.+)?$/; + + sql = sql.trim() + // Ugly hack to parse triggers with embedded semicolons + .replace(/;---/g, "TEMPSEMI") + .split("\n") + .filter(function (x) nonCommentRE.test(x)) + .map(function (x) x.match(trailingCommentRE)[1]) + .join(""); + if (sql.substr(-1) == ";") { + sql = sql.substr(0, sql.length - 1); + } + + var statements = sql.split(";") + .map(function (x) x.replace(/TEMPSEMI/g, ";")); + + return this.executeTransaction(function () { + var statement; + while (statement = statements.shift()) { + yield Zotero.DB.queryAsync(statement); + } + }); +} + + + /** * Generator functions can't return values, but Task.js-style generators, * as used by executeTransaction(), can throw a special exception in order diff --git a/chrome/content/zotero/xpcom/schema.js b/chrome/content/zotero/xpcom/schema.js @@ -50,8 +50,10 @@ Zotero.Schema = new function(){ var sql = "SELECT version FROM version WHERE schema='" + schema + "'"; return Zotero.DB.valueQueryAsync(sql) .then(function (dbVersion) { - dbVersion = parseInt(dbVersion); - _dbVersions[schema] = dbVersion; + if (dbVersion) { + dbVersion = parseInt(dbVersion); + _dbVersions[schema] = dbVersion; + } return dbVersion; }); } @@ -409,23 +411,22 @@ Zotero.Schema = new function(){ }) .then(function (updated) { if (runRemoteUpdateWhenComplete) { - var deferred = Q.defer(); if (updated) { if (Zotero.Prefs.get('automaticScraperUpdates')) { - Zotero.proxyAuthComplete - .then(function () { - Zotero.Schema.updateFromRepository(2, function () deferred.resolve()); - }) + Zotero.unlockPromise + .then(Zotero.proxyAuthComplete) + .delay(1000) + .then(function () Zotero.Schema.updateFromRepository(2)) + .done(); } } else { - Zotero.proxyAuthComplete - .then(function () { - Zotero.Schema.updateFromRepository(false, function () deferred.resolve()); - }) + Zotero.unlockPromise + .then(Zotero.proxyAuthComplete) + .delay(1000) + .then(function () Zotero.Schema.updateFromRepository(false)) .done(); } - return deferred.promise; } }); } @@ -896,10 +897,9 @@ Zotero.Schema = new function(){ * * @param {Boolean} force Force a repository query regardless of how * long it's been since the last check - * @param {Function} callback */ - this.updateFromRepository = function (force, callback) { - Q.fcall(function () { + this.updateFromRepository = function (force) { + return Q.fcall(function () { if (force) return true; if (_remoteUpdateInProgress) { @@ -992,23 +992,21 @@ Zotero.Schema = new function(){ } var body = 'styles=' + encodeURIComponent(JSON.stringify(styleTimestamps)); - var get = Zotero.HTTP.doPost(url, body, function (xmlhttp) { - _updateFromRepositoryCallback(xmlhttp, !!force) - .then(function (updated) { - if (callback) { - callback(xmlhttp, updated); - } - }); + Zotero.HTTP.promise("POST", url, { body: body }) + .then(function (xmlhttp) { + return _updateFromRepositoryCallback(xmlhttp, !!force); + }) + .catch(function (e) { + if (e instanceof Zotero.HTTP.BrowserOfflineException) { + Zotero.debug('Browser is offline -- skipping check'); + // TODO: instead, add an observer to start and stop timer on online state change + _setRepositoryTimer(ZOTERO_CONFIG.REPOSITORY_RETRY_INTERVAL); + return; + } + throw e; }); - - // TODO: instead, add an observer to start and stop timer on online state change - if (!get) { - Zotero.debug('Browser is offline -- skipping check'); - _setRepositoryTimer(ZOTERO_CONFIG.REPOSITORY_RETRY_INTERVAL); - } }); - }) - .done(); + }); } @@ -1382,13 +1380,13 @@ Zotero.Schema = new function(){ yield Zotero.DB.queryAsync("PRAGMA auto_vacuum = 1"); yield _getSchemaSQL('system').then(function (sql) { - return Zotero.DB.queryAsync(sql); + return Zotero.DB.executeSQLFile(sql); }); yield _getSchemaSQL('userdata').then(function (sql) { - return Zotero.DB.queryAsync(sql); + return Zotero.DB.executeSQLFile(sql); }); yield _getSchemaSQL('triggers').then(function (sql) { - return Zotero.DB.queryAsync(sql); + return Zotero.DB.executeSQLFile(sql); }); yield Zotero.Schema.updateCustomTables(true); @@ -1526,10 +1524,8 @@ Zotero.Schema = new function(){ // Store the timestamp provided by the server yield _updateDBVersion('repository', currentTime); - if (!manual) { - // And the local timestamp of the update time - yield _updateDBVersion('lastcheck', lastCheckTime); - } + // And the local timestamp of the update time + yield _updateDBVersion('lastcheck', lastCheckTime); }) .then(function () { Zotero.debug('All translators and styles are up-to-date'); @@ -1567,10 +1563,8 @@ Zotero.Schema = new function(){ // Store the timestamp provided by the server yield _updateDBVersion('repository', currentTime); - if (!manual) { - // And the local timestamp of the update time - yield _updateDBVersion('lastcheck', lastCheckTime); - } + // And the local timestamp of the update time + yield _updateDBVersion('lastcheck', lastCheckTime); }) .then(function () { if (!manual) { diff --git a/resource/schema/triggers.sql b/resource/schema/triggers.sql @@ -20,6 +20,8 @@ -- along with Zotero. If not, see <http://www.gnu.org/licenses/>. +-- ";---" is an ugly hack for Zotero.DB.executeSQLFile() + -- Triggers to validate date field DROP TRIGGER IF EXISTS insert_date_field; CREATE TRIGGER insert_date_field BEFORE INSERT ON itemData @@ -31,7 +33,7 @@ CREATE TRIGGER insert_date_field BEFORE INSERT ON itemData CAST(SUBSTR((SELECT value FROM itemDataValues WHERE valueID=NEW.valueID), 6, 2) AS INT) BETWEEN 0 AND 12 AND SUBSTR((SELECT value FROM itemDataValues WHERE valueID=NEW.valueID), 8, 1) = '-' AND CAST(SUBSTR((SELECT value FROM itemDataValues WHERE valueID=NEW.valueID), 9, 2) AS INT) BETWEEN 0 AND 31 - WHEN 0 THEN RAISE (ABORT, 'Date field must begin with SQL date') END; + WHEN 0 THEN RAISE (ABORT, 'Date field must begin with SQL date') END;--- END; DROP TRIGGER IF EXISTS update_date_field; @@ -44,7 +46,7 @@ CREATE TRIGGER update_date_field BEFORE UPDATE ON itemData CAST(SUBSTR((SELECT value FROM itemDataValues WHERE valueID=NEW.valueID), 6, 2) AS INT) BETWEEN 0 AND 12 AND SUBSTR((SELECT value FROM itemDataValues WHERE valueID=NEW.valueID), 8, 1) = '-' AND CAST(SUBSTR((SELECT value FROM itemDataValues WHERE valueID=NEW.valueID), 9, 2) AS INT) BETWEEN 0 AND 31 - WHEN 0 THEN RAISE (ABORT, 'Date field must begin with SQL date') END; + WHEN 0 THEN RAISE (ABORT, 'Date field must begin with SQL date') END;--- END; @@ -53,14 +55,14 @@ DROP TRIGGER IF EXISTS insert_creatorData; CREATE TRIGGER insert_creatorData BEFORE INSERT ON creatorData FOR EACH ROW WHEN NEW.firstName='' AND NEW.lastName='' BEGIN - SELECT RAISE (ABORT, 'Creator names cannot be empty'); + SELECT RAISE (ABORT, 'Creator names cannot be empty');--- END; DROP TRIGGER IF EXISTS update_creatorData; CREATE TRIGGER update_creatorData BEFORE UPDATE ON creatorData FOR EACH ROW WHEN NEW.firstName='' AND NEW.lastName='' BEGIN - SELECT RAISE (ABORT, 'Creator names cannot be empty'); + SELECT RAISE (ABORT, 'Creator names cannot be empty');--- END; @@ -74,7 +76,7 @@ CREATE TRIGGER fki_annotations_itemID_itemAttachments_itemID BEFORE INSERT ON annotations FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table "annotations" violates foreign key constraint "fki_annotations_itemID_itemAttachments_itemID"') - WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM itemAttachments WHERE itemID = NEW.itemID) = 0; + WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM itemAttachments WHERE itemID = NEW.itemID) = 0;--- END; DROP TRIGGER IF EXISTS fku_annotations_itemID_itemAttachments_itemID; @@ -83,7 +85,7 @@ CREATE TRIGGER fku_annotations_itemID_itemAttachments_itemID FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "annotations" violates foreign key constraint "fku_annotations_itemID_itemAttachments_itemID"') - WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM itemAttachments WHERE itemID = NEW.itemID) = 0; + WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM itemAttachments WHERE itemID = NEW.itemID) = 0;--- END; DROP TRIGGER IF EXISTS fkd_annotations_itemID_itemAttachments_itemID; @@ -91,14 +93,14 @@ CREATE TRIGGER fkd_annotations_itemID_itemAttachments_itemID BEFORE DELETE ON itemAttachments FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'delete on table "itemAttachments" violates foreign key constraint "fkd_annotations_itemID_itemAttachments_itemID"') - WHERE (SELECT COUNT(*) FROM annotations WHERE itemID = OLD.itemID) > 0; + WHERE (SELECT COUNT(*) FROM annotations WHERE itemID = OLD.itemID) > 0;--- END; DROP TRIGGER IF EXISTS fku_itemAttachments_itemID_annotations_itemID; CREATE TRIGGER fku_itemAttachments_itemID_annotations_itemID AFTER UPDATE OF itemID ON itemAttachments FOR EACH ROW BEGIN - UPDATE annotations SET itemID=NEW.itemID WHERE itemID=OLD.itemID; + UPDATE annotations SET itemID=NEW.itemID WHERE itemID=OLD.itemID;--- END; -- collections/parentCollectionID @@ -107,7 +109,7 @@ CREATE TRIGGER fki_collections_parentCollectionID_collections_collectionID BEFORE INSERT ON collections FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table "collections" violates foreign key constraint "fki_collections_parentCollectionID_collections_collectionID"') - WHERE NEW.parentCollectionID IS NOT NULL AND (SELECT COUNT(*) FROM collections WHERE collectionID = NEW.parentCollectionID) = 0; + WHERE NEW.parentCollectionID IS NOT NULL AND (SELECT COUNT(*) FROM collections WHERE collectionID = NEW.parentCollectionID) = 0;--- END; DROP TRIGGER IF EXISTS fku_collections_parentCollectionID_collections_collectionID; @@ -115,7 +117,7 @@ CREATE TRIGGER fku_collections_parentCollectionID_collections_collectionID BEFORE UPDATE OF parentCollectionID ON collections FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "collections" violates foreign key constraint "fku_collections_parentCollectionID_collections_collectionID"') - WHERE NEW.parentCollectionID IS NOT NULL AND (SELECT COUNT(*) FROM collections WHERE collectionID = NEW.parentCollectionID) = 0; + WHERE NEW.parentCollectionID IS NOT NULL AND (SELECT COUNT(*) FROM collections WHERE collectionID = NEW.parentCollectionID) = 0;--- END; DROP TRIGGER IF EXISTS fkd_collections_parentCollectionID_collections_collectionID; @@ -123,14 +125,14 @@ CREATE TRIGGER fkd_collections_parentCollectionID_collections_collectionID BEFORE DELETE ON collections FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'delete on table "collections" violates foreign key constraint "fkd_collections_parentCollectionID_collections_collectionID"') - WHERE (SELECT COUNT(*) FROM collections WHERE parentCollectionID = OLD.collectionID) > 0; + WHERE (SELECT COUNT(*) FROM collections WHERE parentCollectionID = OLD.collectionID) > 0;--- END; DROP TRIGGER IF EXISTS fku_collections_collectionID_collections_parentCollectionID; CREATE TRIGGER fku_collections_collectionID_collections_parentCollectionID AFTER UPDATE OF collectionID ON collections FOR EACH ROW BEGIN - UPDATE collections SET parentCollectionID=NEW.collectionID WHERE parentCollectionID=OLD.collectionID; + UPDATE collections SET parentCollectionID=NEW.collectionID WHERE parentCollectionID=OLD.collectionID;--- END; -- Don't allow collection parents in different libraries @@ -151,7 +153,7 @@ CREATE TRIGGER fki_collections_parentCollectionID_libraryID (SELECT libraryID FROM collections WHERE collectionID = NEW.parentCollectionID) IS NULL ) OR NEW.libraryID != (SELECT libraryID FROM collections WHERE collectionID = NEW.parentCollectionID) - ); + );--- END; DROP TRIGGER IF EXISTS fku_collections_parentCollectionID_libraryID; @@ -171,7 +173,7 @@ CREATE TRIGGER fku_collections_parentCollectionID_libraryID (SELECT libraryID FROM collections WHERE collectionID = NEW.parentCollectionID) IS NULL ) OR NEW.libraryID != (SELECT libraryID FROM collections WHERE collectionID = NEW.parentCollectionID) - ); + );--- END; -- collectionItems/collectionID @@ -180,7 +182,7 @@ CREATE TRIGGER fki_collectionItems_collectionID_collections_collectionID BEFORE INSERT ON collectionItems FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table "collectionItems" violates foreign key constraint "fki_collectionItems_collectionID_collections_collectionID"') - WHERE NEW.collectionID IS NOT NULL AND (SELECT COUNT(*) FROM collections WHERE collectionID = NEW.collectionID) = 0; + WHERE NEW.collectionID IS NOT NULL AND (SELECT COUNT(*) FROM collections WHERE collectionID = NEW.collectionID) = 0;--- END; DROP TRIGGER IF EXISTS fku_collectionItems_collectionID_collections_collectionID; @@ -188,7 +190,7 @@ CREATE TRIGGER fku_collectionItems_collectionID_collections_collectionID BEFORE UPDATE OF collectionID ON collectionItems FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "collectionItems" violates foreign key constraint "fku_collectionItems_collectionID_collections_collectionID"') - WHERE NEW.collectionID IS NOT NULL AND (SELECT COUNT(*) FROM collections WHERE collectionID = NEW.collectionID) = 0; + WHERE NEW.collectionID IS NOT NULL AND (SELECT COUNT(*) FROM collections WHERE collectionID = NEW.collectionID) = 0;--- END; DROP TRIGGER IF EXISTS fkd_collectionItems_collectionID_collections_collectionID; @@ -196,14 +198,14 @@ CREATE TRIGGER fkd_collectionItems_collectionID_collections_collectionID BEFORE DELETE ON collections FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'delete on table "collections" violates foreign key constraint "fkd_collectionItems_collectionID_collections_collectionID"') - WHERE (SELECT COUNT(*) FROM collectionItems WHERE collectionID = OLD.collectionID) > 0; + WHERE (SELECT COUNT(*) FROM collectionItems WHERE collectionID = OLD.collectionID) > 0;--- END; DROP TRIGGER IF EXISTS fku_collections_collectionID_collectionItems_collectionID; CREATE TRIGGER fku_collections_collectionID_collectionItems_collectionID AFTER UPDATE OF collectionID ON collections FOR EACH ROW BEGIN - UPDATE collectionItems SET collectionID=NEW.collectionID WHERE collectionID=OLD.collectionID; + UPDATE collectionItems SET collectionID=NEW.collectionID WHERE collectionID=OLD.collectionID;--- END; -- collectionItems/itemID @@ -212,7 +214,7 @@ CREATE TRIGGER fki_collectionItems_itemID_items_itemID BEFORE INSERT ON collectionItems FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table "collectionItems" violates foreign key constraint "fki_collectionItems_itemID_items_itemID"') - WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0; + WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0;--- END; DROP TRIGGER IF EXISTS fku_collectionItems_itemID_items_itemID; @@ -220,7 +222,7 @@ CREATE TRIGGER fku_collectionItems_itemID_items_itemID BEFORE UPDATE OF itemID ON collectionItems FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "collectionItems" violates foreign key constraint "fku_collectionItems_itemID_items_itemID"') - WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0; + WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0;--- END; DROP TRIGGER IF EXISTS fkd_collectionItems_itemID_items_itemID; @@ -228,14 +230,14 @@ CREATE TRIGGER fkd_collectionItems_itemID_items_itemID BEFORE DELETE ON items FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'delete on table "items" violates foreign key constraint "fkd_collectionItems_itemID_items_itemID"') - WHERE (SELECT COUNT(*) FROM collectionItems WHERE itemID = OLD.itemID) > 0; + WHERE (SELECT COUNT(*) FROM collectionItems WHERE itemID = OLD.itemID) > 0;--- END; DROP TRIGGER IF EXISTS fku_items_itemID_collectionItems_itemID; CREATE TRIGGER fku_items_itemID_collectionItems_itemID AFTER UPDATE OF itemID ON items FOR EACH ROW BEGIN - UPDATE collectionItems SET collectionID=NEW.itemID WHERE collectionID=OLD.itemID; + UPDATE collectionItems SET collectionID=NEW.itemID WHERE collectionID=OLD.itemID;--- END; -- collectionItems libraryID @@ -253,7 +255,7 @@ CREATE TRIGGER fki_collectionItems_libraryID AND (SELECT libraryID FROM items WHERE itemID = NEW.itemID) IS NULL ) OR - (SELECT libraryID FROM collections WHERE collectionID = NEW.collectionID) != (SELECT libraryID FROM items WHERE itemID = NEW.itemID); + (SELECT libraryID FROM collections WHERE collectionID = NEW.collectionID) != (SELECT libraryID FROM items WHERE itemID = NEW.itemID);--- END; DROP TRIGGER IF EXISTS fku_collectionItems_libraryID; @@ -270,7 +272,7 @@ CREATE TRIGGER fku_collectionItems_libraryID AND (SELECT libraryID FROM items WHERE itemID = NEW.itemID) IS NULL ) OR - (SELECT libraryID FROM collections WHERE collectionID = NEW.collectionID) != (SELECT libraryID FROM items WHERE itemID = NEW.itemID); + (SELECT libraryID FROM collections WHERE collectionID = NEW.collectionID) != (SELECT libraryID FROM items WHERE itemID = NEW.itemID);--- END; @@ -280,7 +282,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 itemAttachments WHERE sourceItemID IS NOT NULL UNION 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; @@ -288,7 +290,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 itemAttachments WHERE sourceItemID IS NOT NULL UNION 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; -- When making a standalone attachment a child, remove from any collections @@ -296,7 +298,7 @@ DROP TRIGGER IF EXISTS fku_itemAttachments_sourceItemID_collectionItems_itemID; CREATE TRIGGER fku_itemAttachments_sourceItemID_collectionItems_itemID BEFORE UPDATE OF sourceItemID ON itemAttachments FOR EACH ROW WHEN OLD.sourceItemID IS NULL AND NEW.sourceItemID IS NOT NULL BEGIN - DELETE FROM collectionItems WHERE itemID = NEW.itemID; + DELETE FROM collectionItems WHERE itemID = NEW.itemID;--- END; -- When making a standalone note a child, remove from any collections @@ -304,7 +306,7 @@ DROP TRIGGER IF EXISTS fku_itemNotes_sourceItemID_collectionItems_itemID; CREATE TRIGGER fku_itemNotes_sourceItemID_collectionItems_itemID BEFORE UPDATE OF sourceItemID ON itemNotes FOR EACH ROW WHEN OLD.sourceItemID IS NULL AND NEW.sourceItemID IS NOT NULL BEGIN - DELETE FROM collectionItems WHERE itemID = NEW.itemID; + DELETE FROM collectionItems WHERE itemID = NEW.itemID;--- END; @@ -314,7 +316,7 @@ CREATE TRIGGER fki_creators_creatorDataID_creatorData_creatorDataID BEFORE INSERT ON creators FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table "creators" violates foreign key constraint "fki_creators_creatorDataID_creatorData_creatorDataID"') - WHERE NEW.creatorDataID IS NOT NULL AND (SELECT COUNT(*) FROM creatorData WHERE creatorDataID = NEW.creatorDataID) = 0; + WHERE NEW.creatorDataID IS NOT NULL AND (SELECT COUNT(*) FROM creatorData WHERE creatorDataID = NEW.creatorDataID) = 0;--- END; DROP TRIGGER IF EXISTS fku_creators_creatorDataID_creatorData_creatorDataID; @@ -322,7 +324,7 @@ CREATE TRIGGER fku_creators_creatorDataID_creatorData_creatorDataID BEFORE UPDATE OF creatorDataID ON creators FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "creators" violates foreign key constraint "fku_creators_creatorDataID_creatorData_creatorDataID"') - WHERE NEW.creatorDataID IS NOT NULL AND (SELECT COUNT(*) FROM creatorData WHERE creatorDataID = NEW.creatorDataID) = 0; + WHERE NEW.creatorDataID IS NOT NULL AND (SELECT COUNT(*) FROM creatorData WHERE creatorDataID = NEW.creatorDataID) = 0;--- END; DROP TRIGGER IF EXISTS fkd_creators_creatorDataID_creatorData_creatorDataID; @@ -330,7 +332,7 @@ CREATE TRIGGER fkd_creators_creatorDataID_creatorData_creatorDataID BEFORE DELETE ON creatorData FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'delete on table "creatorData" violates foreign key constraint "fkd_creators_creatorDataID_creatorData_creatorDataID"') - WHERE (SELECT COUNT(*) FROM creators WHERE creatorDataID = OLD.creatorDataID) > 0; + WHERE (SELECT COUNT(*) FROM creators WHERE creatorDataID = OLD.creatorDataID) > 0;--- END; DROP TRIGGER IF EXISTS fku_creatorData_creatorDataID_creators_creatorDataID; @@ -338,7 +340,7 @@ CREATE TRIGGER fku_creatorData_creatorDataID_creators_creatorDataID BEFORE UPDATE OF creatorDataID ON creatorData FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "creatorData" violates foreign key constraint "fku_creatorData_creatorDataID_creators_creatorDataID"') - WHERE (SELECT COUNT(*) FROM creators WHERE creatorDataID = OLD.creatorDataID) > 0; + WHERE (SELECT COUNT(*) FROM creators WHERE creatorDataID = OLD.creatorDataID) > 0;--- END; @@ -348,7 +350,7 @@ CREATE TRIGGER fki_customBaseFieldMappings_customItemTypeID_customItemTypes_cust BEFORE INSERT ON customBaseFieldMappings FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table "customBaseFieldMappings" violates foreign key constraint "fki_customBaseFieldMappings_customItemTypeID_customItemTypes_customItemTypeID"') - WHERE NEW.customItemTypeID IS NOT NULL AND (SELECT COUNT(*) FROM customItemTypes WHERE customItemTypeID = NEW.customItemTypeID) = 0; + WHERE NEW.customItemTypeID IS NOT NULL AND (SELECT COUNT(*) FROM customItemTypes WHERE customItemTypeID = NEW.customItemTypeID) = 0;--- END; DROP TRIGGER IF EXISTS fku_customBaseFieldMappings_customItemTypeID_customItemTypes_customItemTypeID; @@ -356,21 +358,21 @@ CREATE TRIGGER fku_customBaseFieldMappings_customItemTypeID_customItemTypes_cust BEFORE UPDATE OF customItemTypeID ON customBaseFieldMappings FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "customBaseFieldMappings" violates foreign key constraint "fku_customBaseFieldMappings_customItemTypeID_customItemTypes_customItemTypeID"') - WHERE NEW.customItemTypeID IS NOT NULL AND (SELECT COUNT(*) FROM customItemTypes WHERE customItemTypeID = NEW.customItemTypeID) = 0; + WHERE NEW.customItemTypeID IS NOT NULL AND (SELECT COUNT(*) FROM customItemTypes WHERE customItemTypeID = NEW.customItemTypeID) = 0;--- END; DROP TRIGGER IF EXISTS fkd_customBaseFieldMappings_customItemTypeID_customItemTypes_customItemTypeID; CREATE TRIGGER fkd_customBaseFieldMappings_customItemTypeID_customItemTypes_customItemTypeID BEFORE DELETE ON customItemTypes FOR EACH ROW BEGIN - DELETE FROM customBaseFieldMappings WHERE customItemTypeID = OLD.customItemTypeID; + DELETE FROM customBaseFieldMappings WHERE customItemTypeID = OLD.customItemTypeID;--- END; DROP TRIGGER IF EXISTS fku_customItemTypes_customItemTypeID_customBaseFieldMappings_customItemTypeID; CREATE TRIGGER fku_customItemTypes_customItemTypeID_customBaseFieldMappings_customItemTypeID AFTER UPDATE OF customItemTypeID ON customItemTypes FOR EACH ROW BEGIN - UPDATE customBaseFieldMappings SET customItemTypeID=NEW.customItemTypeID WHERE customItemTypeID=OLD.customItemTypeID; + UPDATE customBaseFieldMappings SET customItemTypeID=NEW.customItemTypeID WHERE customItemTypeID=OLD.customItemTypeID;--- END; @@ -380,7 +382,7 @@ CREATE TRIGGER fki_customBaseFieldMappings_baseFieldID_fields_fieldID BEFORE INSERT ON customBaseFieldMappings FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table "customBaseFieldMappings" violates foreign key constraint "fki_customBaseFieldMappings_baseFieldID_fields_fieldID"') - WHERE NEW.baseFieldID IS NOT NULL AND (SELECT COUNT(*) FROM fields WHERE fieldID = NEW.baseFieldID) = 0; + WHERE NEW.baseFieldID IS NOT NULL AND (SELECT COUNT(*) FROM fields WHERE fieldID = NEW.baseFieldID) = 0;--- END; DROP TRIGGER IF EXISTS fku_customBaseFieldMappings_baseFieldID_fields_fieldID; @@ -388,7 +390,7 @@ CREATE TRIGGER fku_customBaseFieldMappings_baseFieldID_fields_fieldID BEFORE UPDATE OF baseFieldID ON customBaseFieldMappings FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "customBaseFieldMappings" violates foreign key constraint "fku_customBaseFieldMappings_baseFieldID_fields_fieldID"') - WHERE NEW.baseFieldID IS NOT NULL AND (SELECT COUNT(*) FROM fields WHERE fieldID = NEW.baseFieldID) = 0; + WHERE NEW.baseFieldID IS NOT NULL AND (SELECT COUNT(*) FROM fields WHERE fieldID = NEW.baseFieldID) = 0;--- END; @@ -398,7 +400,7 @@ CREATE TRIGGER fki_customBaseFieldMappings_customFieldID_customFields_customFiel BEFORE INSERT ON customBaseFieldMappings FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table "customBaseFieldMappings" violates foreign key constraint "fki_customBaseFieldMappings_customFieldID_customFields_customFieldID"') - WHERE NEW.customFieldID IS NOT NULL AND (SELECT COUNT(*) FROM customFields WHERE customFieldID = NEW.customFieldID) = 0; + WHERE NEW.customFieldID IS NOT NULL AND (SELECT COUNT(*) FROM customFields WHERE customFieldID = NEW.customFieldID) = 0;--- END; DROP TRIGGER IF EXISTS fku_customBaseFieldMappings_customFieldID_customFields_customFieldID; @@ -406,21 +408,21 @@ CREATE TRIGGER fku_customBaseFieldMappings_customFieldID_customFields_customFiel BEFORE UPDATE OF customFieldID ON customBaseFieldMappings FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "customBaseFieldMappings" violates foreign key constraint "fku_customBaseFieldMappings_customFieldID_customFields_customFieldID"') - WHERE NEW.customFieldID IS NOT NULL AND (SELECT COUNT(*) FROM customFields WHERE customFieldID = NEW.customFieldID) = 0; + WHERE NEW.customFieldID IS NOT NULL AND (SELECT COUNT(*) FROM customFields WHERE customFieldID = NEW.customFieldID) = 0;--- END; DROP TRIGGER IF EXISTS fkd_customBaseFieldMappings_customFieldID_customFields_customFieldID; CREATE TRIGGER fkd_customBaseFieldMappings_customFieldID_customFields_customFieldID BEFORE DELETE ON customFields FOR EACH ROW BEGIN - DELETE FROM customBaseFieldMappings WHERE customFieldID = OLD.customFieldID; + DELETE FROM customBaseFieldMappings WHERE customFieldID = OLD.customFieldID;--- END; DROP TRIGGER IF EXISTS fku_customFields_customFieldID_customBaseFieldMappings_customFieldID; CREATE TRIGGER fku_customFields_customFieldID_customBaseFieldMappings_customFieldID AFTER UPDATE OF customFieldID ON customFields FOR EACH ROW BEGIN - UPDATE customBaseFieldMappings SET customFieldID=NEW.customFieldID WHERE customFieldID=OLD.customFieldID; + UPDATE customBaseFieldMappings SET customFieldID=NEW.customFieldID WHERE customFieldID=OLD.customFieldID;--- END; @@ -430,7 +432,7 @@ CREATE TRIGGER fki_customItemTypeFields_customItemTypeID_customItemTypes_customI BEFORE INSERT ON customItemTypeFields FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table "customItemTypeFields" violates foreign key constraint "fki_customItemTypeFields_customItemTypeID_customItemTypes_customItemTypeID"') - WHERE NEW.customItemTypeID IS NOT NULL AND (SELECT COUNT(*) FROM customItemTypes WHERE customItemTypeID = NEW.customItemTypeID) = 0; + WHERE NEW.customItemTypeID IS NOT NULL AND (SELECT COUNT(*) FROM customItemTypes WHERE customItemTypeID = NEW.customItemTypeID) = 0;--- END; DROP TRIGGER IF EXISTS fku_customItemTypeFields_customItemTypeID_customItemTypes_customItemTypeID; @@ -438,21 +440,21 @@ CREATE TRIGGER fku_customItemTypeFields_customItemTypeID_customItemTypes_customI BEFORE UPDATE OF customItemTypeID ON customItemTypeFields FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "customItemTypeFields" violates foreign key constraint "fku_customItemTypeFields_customItemTypeID_customItemTypes_customItemTypeID"') - WHERE NEW.customItemTypeID IS NOT NULL AND (SELECT COUNT(*) FROM customItemTypes WHERE customItemTypeID = NEW.customItemTypeID) = 0; + WHERE NEW.customItemTypeID IS NOT NULL AND (SELECT COUNT(*) FROM customItemTypes WHERE customItemTypeID = NEW.customItemTypeID) = 0;--- END; DROP TRIGGER IF EXISTS fkd_customItemTypeFields_customItemTypeID_customItemTypes_customItemTypeID; CREATE TRIGGER fkd_customItemTypeFields_customItemTypeID_customItemTypes_customItemTypeID BEFORE DELETE ON customItemTypes FOR EACH ROW BEGIN - DELETE FROM customItemTypeFields WHERE customItemTypeID = OLD.customItemTypeID; + DELETE FROM customItemTypeFields WHERE customItemTypeID = OLD.customItemTypeID;--- END; DROP TRIGGER IF EXISTS fku_customItemTypes_customItemTypeID_customItemTypeFields_customItemTypeID; CREATE TRIGGER fku_customItemTypes_customItemTypeID_customItemTypeFields_customItemTypeID AFTER UPDATE OF customItemTypeID ON customItemTypes FOR EACH ROW BEGIN - UPDATE customItemTypeFields SET customItemTypeID=NEW.customItemTypeID WHERE customItemTypeID=OLD.customItemTypeID; + UPDATE customItemTypeFields SET customItemTypeID=NEW.customItemTypeID WHERE customItemTypeID=OLD.customItemTypeID;--- END; @@ -462,7 +464,7 @@ CREATE TRIGGER fki_customItemTypeFields_fieldID_fields_fieldID BEFORE INSERT ON customItemTypeFields FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table "customItemTypeFields" violates foreign key constraint "fki_customItemTypeFields_fieldID_fields_fieldID"') - WHERE NEW.fieldID IS NOT NULL AND (SELECT COUNT(*) FROM fields WHERE fieldID = NEW.fieldID) = 0; + WHERE NEW.fieldID IS NOT NULL AND (SELECT COUNT(*) FROM fields WHERE fieldID = NEW.fieldID) = 0;--- END; DROP TRIGGER IF EXISTS fku_customItemTypeFields_fieldID_fields_fieldID; @@ -470,7 +472,7 @@ CREATE TRIGGER fku_customItemTypeFields_fieldID_fields_fieldID BEFORE UPDATE OF fieldID ON customItemTypeFields FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "customItemTypeFields" violates foreign key constraint "fku_customItemTypeFields_fieldID_fields_fieldID"') - WHERE NEW.fieldID IS NOT NULL AND (SELECT COUNT(*) FROM fields WHERE fieldID = NEW.fieldID) = 0; + WHERE NEW.fieldID IS NOT NULL AND (SELECT COUNT(*) FROM fields WHERE fieldID = NEW.fieldID) = 0;--- END; @@ -480,7 +482,7 @@ CREATE TRIGGER fki_customItemTypeFields_customFieldID_customFields_customFieldID BEFORE INSERT ON customItemTypeFields FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table "customItemTypeFields" violates foreign key constraint "fki_customItemTypeFields_customFieldID_customFields_customFieldID"') - WHERE NEW.customFieldID IS NOT NULL AND (SELECT COUNT(*) FROM customFields WHERE customFieldID = NEW.customFieldID) = 0; + WHERE NEW.customFieldID IS NOT NULL AND (SELECT COUNT(*) FROM customFields WHERE customFieldID = NEW.customFieldID) = 0;--- END; DROP TRIGGER IF EXISTS fku_customItemTypeFields_customFieldID_customFields_customFieldID; @@ -488,21 +490,21 @@ CREATE TRIGGER fku_customItemTypeFields_customFieldID_customFields_customFieldID BEFORE UPDATE OF customFieldID ON customItemTypeFields FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "customItemTypeFields" violates foreign key constraint "fku_customItemTypeFields_customFieldID_customFields_customFieldID"') - WHERE NEW.customFieldID IS NOT NULL AND (SELECT COUNT(*) FROM customFields WHERE customFieldID = NEW.customFieldID) = 0; + WHERE NEW.customFieldID IS NOT NULL AND (SELECT COUNT(*) FROM customFields WHERE customFieldID = NEW.customFieldID) = 0;--- END; DROP TRIGGER IF EXISTS fkd_customItemTypeFields_customFieldID_customFields_customFieldID; CREATE TRIGGER fkd_customItemTypeFields_customFieldID_customFields_customFieldID BEFORE DELETE ON customFields FOR EACH ROW BEGIN - DELETE FROM customItemTypeFields WHERE customFieldID = OLD.customFieldID; + DELETE FROM customItemTypeFields WHERE customFieldID = OLD.customFieldID;--- END; DROP TRIGGER IF EXISTS fku_customFields_customFieldID_customItemTypeFields_customFieldID; CREATE TRIGGER fku_customFields_customFieldID_customItemTypeFields_customFieldID AFTER UPDATE OF customFieldID ON customFields FOR EACH ROW BEGIN - UPDATE customItemTypeFields SET customFieldID=NEW.customFieldID WHERE customFieldID=OLD.customFieldID; + UPDATE customItemTypeFields SET customFieldID=NEW.customFieldID WHERE customFieldID=OLD.customFieldID;--- END; @@ -512,7 +514,7 @@ CREATE TRIGGER fki_fulltextItems_itemID_items_itemID BEFORE INSERT ON fulltextItems FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table "fulltextItems" violates foreign key constraint "fki_fulltextItems_itemID_items_itemID"') - WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0; + WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0;--- END; DROP TRIGGER IF EXISTS fku_fulltextItems_itemID_items_itemID; @@ -520,7 +522,7 @@ CREATE TRIGGER fku_fulltextItems_itemID_items_itemID BEFORE UPDATE OF itemID ON fulltextItems FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "fulltextItems" violates foreign key constraint "fku_fulltextItems_itemID_items_itemID"') - WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0; + WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0;--- END; DROP TRIGGER IF EXISTS fkd_fulltextItems_itemID_items_itemID; @@ -528,14 +530,14 @@ CREATE TRIGGER fkd_fulltextItems_itemID_items_itemID BEFORE DELETE ON items FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'delete on table "items" violates foreign key constraint "fkd_fulltextItems_itemID_items_itemID"') - WHERE (SELECT COUNT(*) FROM fulltextItems WHERE itemID = OLD.itemID) > 0; + WHERE (SELECT COUNT(*) FROM fulltextItems WHERE itemID = OLD.itemID) > 0;--- END; DROP TRIGGER IF EXISTS fku_items_itemID_fulltextItems_itemID; CREATE TRIGGER fku_items_itemID_fulltextItems_itemID AFTER UPDATE OF itemID ON items FOR EACH ROW BEGIN - UPDATE fulltextItems SET itemID=NEW.itemID WHERE itemID=OLD.itemID; + UPDATE fulltextItems SET itemID=NEW.itemID WHERE itemID=OLD.itemID;--- END; @@ -545,7 +547,7 @@ CREATE TRIGGER fki_fulltextItemWords_wordID_fulltextWords_wordID BEFORE INSERT ON fulltextItemWords FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table "fulltextItemWords" violates foreign key constraint "fki_fulltextItemWords_wordID_fulltextWords_wordID"') - WHERE NEW.wordID IS NOT NULL AND (SELECT COUNT(*) FROM fulltextWords WHERE wordID = NEW.wordID) = 0; + WHERE NEW.wordID IS NOT NULL AND (SELECT COUNT(*) FROM fulltextWords WHERE wordID = NEW.wordID) = 0;--- END; DROP TRIGGER IF EXISTS fku_fulltextItemWords_wordID_fulltextWords_wordID; @@ -553,7 +555,7 @@ CREATE TRIGGER fku_fulltextItemWords_wordID_fulltextWords_wordID BEFORE UPDATE OF wordID ON fulltextItemWords FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "fulltextItemWords" violates foreign key constraint "fku_fulltextItemWords_wordID_fulltextWords_wordID"') - WHERE NEW.wordID IS NOT NULL AND (SELECT COUNT(*) FROM fulltextWords WHERE wordID = NEW.wordID) = 0; + WHERE NEW.wordID IS NOT NULL AND (SELECT COUNT(*) FROM fulltextWords WHERE wordID = NEW.wordID) = 0;--- END; DROP TRIGGER IF EXISTS fkd_fulltextItemWords_wordID_fulltextWords_wordID; @@ -561,7 +563,7 @@ CREATE TRIGGER fkd_fulltextItemWords_wordID_fulltextWords_wordID BEFORE DELETE ON fulltextWords FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'delete on table "fulltextWords" violates foreign key constraint "fkd_fulltextItemWords_wordID_fulltextWords_wordID"') - WHERE (SELECT COUNT(*) FROM fulltextItemWords WHERE wordID = OLD.wordID) > 0; + WHERE (SELECT COUNT(*) FROM fulltextItemWords WHERE wordID = OLD.wordID) > 0;--- END; DROP TRIGGER IF EXISTS fku_fulltextWords_wordID_fulltextItemWords_wordID; @@ -569,7 +571,7 @@ CREATE TRIGGER fku_fulltextWords_wordID_fulltextItemWords_wordID BEFORE UPDATE OF wordID ON fulltextWords FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "fulltextWords" violates foreign key constraint "fku_fulltextWords_wordID_fulltextItemWords_wordID"') - WHERE (SELECT COUNT(*) FROM fulltextItemWords WHERE wordID = OLD.wordID) > 0; + WHERE (SELECT COUNT(*) FROM fulltextItemWords WHERE wordID = OLD.wordID) > 0;--- END; -- fulltextItemWords/itemID @@ -578,7 +580,7 @@ CREATE TRIGGER fki_fulltextItemWords_itemID_items_itemID BEFORE INSERT ON fulltextItemWords FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table "fulltextItemWords" violates foreign key constraint "fki_fulltextItemWords_itemID_items_itemID"') - WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0; + WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0;--- END; DROP TRIGGER IF EXISTS fku_fulltextItemWords_itemID_items_itemID; @@ -586,7 +588,7 @@ CREATE TRIGGER fku_fulltextItemWords_itemID_items_itemID BEFORE UPDATE OF itemID ON fulltextItemWords FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "fulltextItemWords" violates foreign key constraint "fku_fulltextItemWords_itemID_items_itemID"') - WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0; + WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0;--- END; DROP TRIGGER IF EXISTS fkd_fulltextItemWords_itemID_items_itemID; @@ -594,14 +596,14 @@ CREATE TRIGGER fkd_fulltextItemWords_itemID_items_itemID BEFORE DELETE ON items FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'delete on table "items" violates foreign key constraint "fkd_fulltextItemWords_itemID_items_itemID"') - WHERE (SELECT COUNT(*) FROM fulltextItemWords WHERE itemID = OLD.itemID) > 0; + WHERE (SELECT COUNT(*) FROM fulltextItemWords WHERE itemID = OLD.itemID) > 0;--- END; DROP TRIGGER IF EXISTS fku_items_itemID_fulltextItemWords_itemID; CREATE TRIGGER fku_items_itemID_fulltextItemWords_itemID AFTER UPDATE OF itemID ON items FOR EACH ROW BEGIN - UPDATE fulltextItemWords SET itemID=NEW.itemID WHERE itemID=OLD.itemID; + UPDATE fulltextItemWords SET itemID=NEW.itemID WHERE itemID=OLD.itemID;--- END; -- groups/libraryID @@ -610,7 +612,7 @@ CREATE TRIGGER fki_groups_libraryID_libraries_libraryID BEFORE INSERT ON groups FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table "groups" violates foreign key constraint "fki_groups_libraryID_libraries_libraryID"') - WHERE NEW.libraryID IS NOT NULL AND (SELECT COUNT(*) FROM libraries WHERE libraryID = NEW.libraryID) = 0; + WHERE NEW.libraryID IS NOT NULL AND (SELECT COUNT(*) FROM libraries WHERE libraryID = NEW.libraryID) = 0;--- END; DROP TRIGGER IF EXISTS fku_groups_libraryID_libraries_libraryID; @@ -618,7 +620,7 @@ CREATE TRIGGER fku_groups_libraryID_libraries_libraryID BEFORE UPDATE OF libraryID ON groups FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "groups" violates foreign key constraint "fku_groups_libraryID_libraries_libraryID"') - WHERE NEW.libraryID IS NOT NULL AND (SELECT COUNT(*) FROM libraries WHERE libraryID = NEW.libraryID) = 0; + WHERE NEW.libraryID IS NOT NULL AND (SELECT COUNT(*) FROM libraries WHERE libraryID = NEW.libraryID) = 0;--- END; DROP TRIGGER IF EXISTS fkd_groups_libraryID_libraries_libraryID; @@ -626,14 +628,14 @@ CREATE TRIGGER fkd_groups_libraryID_libraries_libraryID BEFORE DELETE ON libraries FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'delete on table "libraries" violates foreign key constraint "fkd_groups_libraryID_libraries_libraryID"') - WHERE (SELECT COUNT(*) FROM groups WHERE libraryID = OLD.libraryID) > 0; + WHERE (SELECT COUNT(*) FROM groups WHERE libraryID = OLD.libraryID) > 0;--- END; DROP TRIGGER IF EXISTS fku_libraries_libraryID_groups_libraryID; CREATE TRIGGER fku_libraries_libraryID_groups_libraryID AFTER UPDATE OF libraryID ON libraries FOR EACH ROW BEGIN - UPDATE groups SET libraryID=NEW.libraryID WHERE libraryID=OLD.libraryID; + UPDATE groups SET libraryID=NEW.libraryID WHERE libraryID=OLD.libraryID;--- END; -- groupItems/createdByUserID @@ -642,7 +644,7 @@ CREATE TRIGGER fki_groupItems_createdByUserID_users_userID BEFORE INSERT ON groupItems FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table "groupItems" violates foreign key constraint "fki_groupItems_createdByUserID_users_userID"') - WHERE NEW.createdByUserID IS NOT NULL AND (SELECT COUNT(*) FROM users WHERE userID = NEW.createdByUserID) = 0; + WHERE NEW.createdByUserID IS NOT NULL AND (SELECT COUNT(*) FROM users WHERE userID = NEW.createdByUserID) = 0;--- END; DROP TRIGGER IF EXISTS fku_groupItems_createdByUserID_users_userID; @@ -650,7 +652,7 @@ CREATE TRIGGER fku_groupItems_createdByUserID_users_userID BEFORE UPDATE OF createdByUserID ON groupItems FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "groupItems" violates foreign key constraint "fku_groupItems_createdByUserID_users_userID"') - WHERE NEW.createdByUserID IS NOT NULL AND (SELECT COUNT(*) FROM users WHERE userID = NEW.createdByUserID) = 0; + WHERE NEW.createdByUserID IS NOT NULL AND (SELECT COUNT(*) FROM users WHERE userID = NEW.createdByUserID) = 0;--- END; DROP TRIGGER IF EXISTS fkd_groupItems_createdByUserID_users_userID; @@ -658,14 +660,14 @@ CREATE TRIGGER fkd_groupItems_createdByUserID_users_userID BEFORE DELETE ON users FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'delete on table "users" violates foreign key constraint "fkd_groupItems_createdByUserID_users_userID"') - WHERE (SELECT COUNT(*) FROM groupItems WHERE createdByUserID = OLD.userID) > 0; + WHERE (SELECT COUNT(*) FROM groupItems WHERE createdByUserID = OLD.userID) > 0;--- END; DROP TRIGGER IF EXISTS fku_users_userID_groupItems_createdByUserID; CREATE TRIGGER fku_users_userID_groupItems_createdByUserID AFTER UPDATE OF userID ON users FOR EACH ROW BEGIN - UPDATE groupItems SET createdByUserID=NEW.userID WHERE createdByUserID=OLD.userID; + UPDATE groupItems SET createdByUserID=NEW.userID WHERE createdByUserID=OLD.userID;--- END; -- groupItems/lastModifiedByUserID @@ -674,7 +676,7 @@ CREATE TRIGGER fki_groupItems_lastModifiedByUserID_users_userID BEFORE INSERT ON groupItems FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table "groupItems" violates foreign key constraint "fki_groupItems_lastModifiedByUserID_users_userID"') - WHERE NEW.lastModifiedByUserID IS NOT NULL AND (SELECT COUNT(*) FROM users WHERE userID = NEW.lastModifiedByUserID) = 0; + WHERE NEW.lastModifiedByUserID IS NOT NULL AND (SELECT COUNT(*) FROM users WHERE userID = NEW.lastModifiedByUserID) = 0;--- END; DROP TRIGGER IF EXISTS fku_groupItems_lastModifiedByUserID_users_userID; @@ -682,7 +684,7 @@ CREATE TRIGGER fku_groupItems_lastModifiedByUserID_users_userID BEFORE UPDATE OF lastModifiedByUserID ON groupItems FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "groupItems" violates foreign key constraint "fku_groupItems_lastModifiedByUserID_users_userID"') - WHERE NEW.lastModifiedByUserID IS NOT NULL AND (SELECT COUNT(*) FROM users WHERE userID = NEW.lastModifiedByUserID) = 0; + WHERE NEW.lastModifiedByUserID IS NOT NULL AND (SELECT COUNT(*) FROM users WHERE userID = NEW.lastModifiedByUserID) = 0;--- END; DROP TRIGGER IF EXISTS fkd_groupItems_lastModifiedByUserID_users_userID; @@ -690,14 +692,14 @@ CREATE TRIGGER fkd_groupItems_lastModifiedByUserID_users_userID BEFORE DELETE ON users FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'delete on table "users" violates foreign key constraint "fkd_groupItems_lastModifiedByUserID_users_userID"') - WHERE (SELECT COUNT(*) FROM groupItems WHERE lastModifiedByUserID = OLD.userID) > 0; + WHERE (SELECT COUNT(*) FROM groupItems WHERE lastModifiedByUserID = OLD.userID) > 0;--- END; DROP TRIGGER IF EXISTS fku_users_userID_groupItems_lastModifiedByUserID; CREATE TRIGGER fku_users_userID_groupItems_lastModifiedByUserID AFTER UPDATE OF userID ON users FOR EACH ROW BEGIN - UPDATE groupItems SET lastModifiedByUserID=NEW.userID WHERE lastModifiedByUserID=OLD.userID; + UPDATE groupItems SET lastModifiedByUserID=NEW.userID WHERE lastModifiedByUserID=OLD.userID;--- END; -- highlights/itemID @@ -706,7 +708,7 @@ CREATE TRIGGER fki_highlights_itemID_itemAttachments_itemID BEFORE INSERT ON highlights FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table "highlights" violates foreign key constraint "fki_highlights_itemID_itemAttachments_itemID"') - WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM itemAttachments WHERE itemID = NEW.itemID) = 0; + WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM itemAttachments WHERE itemID = NEW.itemID) = 0;--- END; DROP TRIGGER IF EXISTS fku_highlights_itemID_itemAttachments_itemID; @@ -714,7 +716,7 @@ CREATE TRIGGER fku_highlights_itemID_itemAttachments_itemID BEFORE UPDATE OF itemID ON highlights FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "highlights" violates foreign key constraint "fku_highlights_itemID_itemAttachments_itemID"') - WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM itemAttachments WHERE itemID = NEW.itemID) = 0; + WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM itemAttachments WHERE itemID = NEW.itemID) = 0;--- END; DROP TRIGGER IF EXISTS fkd_highlights_itemID_itemAttachments_itemID; @@ -722,14 +724,14 @@ CREATE TRIGGER fkd_highlights_itemID_itemAttachments_itemID BEFORE DELETE ON itemAttachments FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'delete on table "itemAttachments" violates foreign key constraint "fkd_highlights_itemID_itemAttachments_itemID"') - WHERE (SELECT COUNT(*) FROM highlights WHERE itemID = OLD.itemID) > 0; + WHERE (SELECT COUNT(*) FROM highlights WHERE itemID = OLD.itemID) > 0;--- END; DROP TRIGGER IF EXISTS fku_itemAttachments_itemID_highlights_itemID; CREATE TRIGGER fku_itemAttachments_itemID_highlights_itemID AFTER UPDATE OF itemID ON itemAttachments FOR EACH ROW BEGIN - UPDATE highlights SET itemID=NEW.itemID WHERE itemID=OLD.itemID; + UPDATE highlights SET itemID=NEW.itemID WHERE itemID=OLD.itemID;--- END; -- itemAttachments/itemID @@ -738,7 +740,7 @@ CREATE TRIGGER fki_itemAttachments_itemID_items_itemID BEFORE INSERT ON itemAttachments FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table "itemAttachments" violates foreign key constraint "fki_itemAttachments_itemID_items_itemID"') - WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0; + WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0;--- END; DROP TRIGGER IF EXISTS fku_itemAttachments_itemID_items_itemID; @@ -746,7 +748,7 @@ CREATE TRIGGER fku_itemAttachments_itemID_items_itemID BEFORE UPDATE OF itemID ON itemAttachments FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "itemAttachments" violates foreign key constraint "fku_itemAttachments_itemID_items_itemID"') - WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0; + WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0;--- END; DROP TRIGGER IF EXISTS fkd_itemAttachments_itemID_items_itemID; @@ -754,14 +756,14 @@ CREATE TRIGGER fkd_itemAttachments_itemID_items_itemID BEFORE DELETE ON items FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'delete on table "items" violates foreign key constraint "fkd_itemAttachments_itemID_items_itemID"') - WHERE (SELECT COUNT(*) FROM itemAttachments WHERE itemID = OLD.itemID) > 0; + WHERE (SELECT COUNT(*) FROM itemAttachments WHERE itemID = OLD.itemID) > 0;--- END; DROP TRIGGER IF EXISTS fku_items_itemID_itemAttachments_itemID; CREATE TRIGGER fku_items_itemID_itemAttachments_itemID AFTER UPDATE OF itemID ON items FOR EACH ROW BEGIN - UPDATE itemAttachments SET itemID=NEW.itemID WHERE itemID=OLD.itemID; + UPDATE itemAttachments SET itemID=NEW.itemID WHERE itemID=OLD.itemID;--- END; -- itemAttachments @@ -782,19 +784,19 @@ CREATE TRIGGER fki_itemAttachments (SELECT libraryID FROM items WHERE itemID = NEW.sourceItemID) IS NULL ) OR (SELECT libraryID FROM items WHERE itemID = NEW.itemID) != (SELECT libraryID FROM items WHERE itemID = NEW.sourceItemID) - ); + );--- -- Make sure this is an attachment item SELECT RAISE(ABORT, 'item is not an attachment') WHERE - (SELECT itemTypeID FROM items WHERE itemID = NEW.itemID) != 14; + (SELECT itemTypeID FROM items WHERE itemID = NEW.itemID) != 14;--- -- Make sure parent is a regular item SELECT RAISE(ABORT, 'parent is not a regular item') WHERE - NEW.sourceItemID IS NOT NULL AND (SELECT itemTypeID FROM items WHERE itemID = NEW.sourceItemID) IN (1,14); + NEW.sourceItemID IS NOT NULL AND (SELECT itemTypeID FROM items WHERE itemID = NEW.sourceItemID) IN (1,14);--- -- If child, make sure attachment is not in a collection SELECT RAISE(ABORT, 'collection item must be top level') WHERE - NEW.sourceItemID IS NOT NULL AND (SELECT COUNT(*) FROM collectionItems WHERE itemID=NEW.itemID)>0; + NEW.sourceItemID IS NOT NULL AND (SELECT COUNT(*) FROM collectionItems WHERE itemID=NEW.itemID)>0;--- END; DROP TRIGGER IF EXISTS fku_itemAttachments; @@ -814,11 +816,11 @@ CREATE TRIGGER fku_itemAttachments (SELECT libraryID FROM items WHERE itemID = NEW.sourceItemID) IS NULL ) OR (SELECT libraryID FROM items WHERE itemID = NEW.itemID) != (SELECT libraryID FROM items WHERE itemID = NEW.sourceItemID) - ); + );--- -- Make sure parent is a regular item SELECT RAISE(ABORT, 'parent is not a regular item') WHERE - NEW.sourceItemID IS NOT NULL AND (SELECT itemTypeID FROM items WHERE itemID = NEW.sourceItemID) IN (1,14); + NEW.sourceItemID IS NOT NULL AND (SELECT itemTypeID FROM items WHERE itemID = NEW.sourceItemID) IN (1,14);--- END; -- itemAttachments/sourceItemID @@ -827,7 +829,7 @@ CREATE TRIGGER fki_itemAttachments_sourceItemID_items_itemID BEFORE INSERT ON itemAttachments FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table "itemAttachments" violates foreign key constraint "fki_itemAttachments_sourceItemID_items_sourceItemID"') - WHERE NEW.sourceItemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.sourceItemID) = 0; + WHERE NEW.sourceItemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.sourceItemID) = 0;--- END; DROP TRIGGER IF EXISTS fku_itemAttachments_sourceItemID_items_itemID; @@ -835,7 +837,7 @@ CREATE TRIGGER fku_itemAttachments_sourceItemID_items_itemID BEFORE UPDATE OF sourceItemID ON itemAttachments FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "itemAttachments" violates foreign key constraint "fku_itemAttachments_sourceItemID_items_sourceItemID"') - WHERE NEW.sourceItemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.sourceItemID) = 0; + WHERE NEW.sourceItemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.sourceItemID) = 0;--- END; DROP TRIGGER IF EXISTS fkd_itemAttachments_sourceItemID_items_itemID; @@ -843,14 +845,14 @@ CREATE TRIGGER fkd_itemAttachments_sourceItemID_items_itemID BEFORE DELETE ON items FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'delete on table "items" violates foreign key constraint "fkd_itemAttachments_sourceItemID_items_sourceItemID"') - WHERE (SELECT COUNT(*) FROM itemAttachments WHERE sourceItemID = OLD.itemID) > 0; + WHERE (SELECT COUNT(*) FROM itemAttachments WHERE sourceItemID = OLD.itemID) > 0;--- END; DROP TRIGGER IF EXISTS fku_items_itemID_itemAttachments_sourceItemID; CREATE TRIGGER fku_items_itemID_itemAttachments_sourceItemID AFTER UPDATE OF itemID ON items FOR EACH ROW BEGIN - UPDATE itemAttachments SET sourceItemID=NEW.itemID WHERE sourceItemID=OLD.itemID; + UPDATE itemAttachments SET sourceItemID=NEW.itemID WHERE sourceItemID=OLD.itemID;--- END; -- itemCreators/itemID @@ -859,7 +861,7 @@ CREATE TRIGGER fki_itemCreators_itemID_items_itemID BEFORE INSERT ON itemCreators FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table "itemCreators" violates foreign key constraint "fki_itemCreators_itemID_items_itemID"') - WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0; + WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0;--- END; DROP TRIGGER IF EXISTS fku_itemCreators_itemID_items_itemID; @@ -867,7 +869,7 @@ CREATE TRIGGER fku_itemCreators_itemID_items_itemID BEFORE UPDATE OF itemID ON itemCreators FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "itemCreators" violates foreign key constraint "fku_itemCreators_itemID_items_itemID"') - WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0; + WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0;--- END; DROP TRIGGER IF EXISTS fkd_itemCreators_itemID_items_itemID; @@ -875,14 +877,14 @@ CREATE TRIGGER fkd_itemCreators_itemID_items_itemID BEFORE DELETE ON items FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'delete on table "items" violates foreign key constraint "fkd_itemCreators_itemID_items_itemID"') - WHERE (SELECT COUNT(*) FROM itemCreators WHERE itemID = OLD.itemID) > 0; + WHERE (SELECT COUNT(*) FROM itemCreators WHERE itemID = OLD.itemID) > 0;--- END; DROP TRIGGER IF EXISTS fku_items_itemID_itemCreators_itemID; CREATE TRIGGER fku_items_itemID_itemCreators_itemID AFTER UPDATE OF itemID ON items FOR EACH ROW BEGIN - UPDATE itemCreators SET itemID=NEW.itemID WHERE itemID=OLD.itemID; + UPDATE itemCreators SET itemID=NEW.itemID WHERE itemID=OLD.itemID;--- END; -- itemCreators/creatorID @@ -891,7 +893,7 @@ CREATE TRIGGER fki_itemCreators_creatorID_creators_creatorID BEFORE INSERT ON itemCreators FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table "itemCreators" violates foreign key constraint "fki_itemCreators_creatorID_creators_creatorID"') - WHERE NEW.creatorID IS NOT NULL AND (SELECT COUNT(*) FROM creators WHERE creatorID = NEW.creatorID) = 0; + WHERE NEW.creatorID IS NOT NULL AND (SELECT COUNT(*) FROM creators WHERE creatorID = NEW.creatorID) = 0;--- END; DROP TRIGGER IF EXISTS fku_itemCreators_creatorID_creators_creatorID; @@ -899,7 +901,7 @@ CREATE TRIGGER fku_itemCreators_creatorID_creators_creatorID BEFORE UPDATE OF creatorID ON itemCreators FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "itemCreators" violates foreign key constraint "fku_itemCreators_creatorID_creators_creatorID"') - WHERE NEW.creatorID IS NOT NULL AND (SELECT COUNT(*) FROM creators WHERE creatorID = NEW.creatorID) = 0; + WHERE NEW.creatorID IS NOT NULL AND (SELECT COUNT(*) FROM creators WHERE creatorID = NEW.creatorID) = 0;--- END; DROP TRIGGER IF EXISTS fkd_itemCreators_creatorID_creators_creatorID; @@ -907,14 +909,14 @@ CREATE TRIGGER fkd_itemCreators_creatorID_creators_creatorID BEFORE DELETE ON creators FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'delete on table "creators" violates foreign key constraint "fkd_itemCreators_creatorID_creators_creatorID"') - WHERE (SELECT COUNT(*) FROM itemCreators WHERE creatorID = OLD.creatorID) > 0; + WHERE (SELECT COUNT(*) FROM itemCreators WHERE creatorID = OLD.creatorID) > 0;--- END; DROP TRIGGER IF EXISTS fku_creators_creatorID_itemCreators_creatorID; CREATE TRIGGER fku_creators_creatorID_itemCreators_creatorID AFTER UPDATE OF creatorID ON creators FOR EACH ROW BEGIN - UPDATE itemCreators SET creatorID=NEW.creatorID WHERE creatorID=OLD.creatorID; + UPDATE itemCreators SET creatorID=NEW.creatorID WHERE creatorID=OLD.creatorID;--- END; -- itemCreators/creatorTypeID @@ -923,7 +925,7 @@ CREATE TRIGGER fki_itemCreators_creatorTypeID_creatorTypes_creatorTypeID BEFORE INSERT ON itemCreators FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table "itemCreators" violates foreign key constraint "fki_itemCreators_creatorTypeID_creatorTypes_creatorTypeID"') - WHERE NEW.creatorTypeID IS NOT NULL AND (SELECT COUNT(*) FROM creatorTypes WHERE creatorTypeID = NEW.creatorTypeID) = 0; + WHERE NEW.creatorTypeID IS NOT NULL AND (SELECT COUNT(*) FROM creatorTypes WHERE creatorTypeID = NEW.creatorTypeID) = 0;--- END; DROP TRIGGER IF EXISTS fku_itemCreators_creatorTypeID_creatorTypes_creatorTypeID; @@ -931,7 +933,7 @@ CREATE TRIGGER fku_itemCreators_creatorTypeID_creatorTypes_creatorTypeID BEFORE UPDATE OF creatorTypeID ON itemCreators FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "itemCreators" violates foreign key constraint "fku_itemCreators_creatorTypeID_creatorTypes_creatorTypeID"') - WHERE NEW.creatorTypeID IS NOT NULL AND (SELECT COUNT(*) FROM creatorTypes WHERE creatorTypeID = NEW.creatorTypeID) = 0; + WHERE NEW.creatorTypeID IS NOT NULL AND (SELECT COUNT(*) FROM creatorTypes WHERE creatorTypeID = NEW.creatorTypeID) = 0;--- END; DROP TRIGGER IF EXISTS fkd_itemCreators_creatorTypeID_creatorTypes_creatorTypeID; @@ -939,7 +941,7 @@ CREATE TRIGGER fkd_itemCreators_creatorTypeID_creatorTypes_creatorTypeID BEFORE DELETE ON creatorTypes FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'delete on table "creatorTypes" violates foreign key constraint "fkd_itemCreators_creatorTypeID_creatorTypes_creatorTypeID"') - WHERE (SELECT COUNT(*) FROM itemCreators WHERE creatorTypeID = OLD.creatorTypeID) > 0; + WHERE (SELECT COUNT(*) FROM itemCreators WHERE creatorTypeID = OLD.creatorTypeID) > 0;--- END; DROP TRIGGER IF EXISTS fku_creatorTypes_creatorTypeID_itemCreators_creatorTypeID; @@ -947,7 +949,7 @@ CREATE TRIGGER fku_creatorTypes_creatorTypeID_itemCreators_creatorTypeID BEFORE UPDATE OF creatorTypeID ON creatorTypes FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "creatorTypes" violates foreign key constraint "fku_creatorTypes_creatorTypeID_itemCreators_creatorTypeID"') - WHERE (SELECT COUNT(*) FROM itemCreators WHERE creatorTypeID = OLD.creatorTypeID) > 0; + WHERE (SELECT COUNT(*) FROM itemCreators WHERE creatorTypeID = OLD.creatorTypeID) > 0;--- END; @@ -966,7 +968,7 @@ CREATE TRIGGER fki_itemCreators_libraryID AND (SELECT libraryID FROM items WHERE itemID = NEW.itemID) IS NULL ) OR - (SELECT libraryID FROM creators WHERE creatorID = NEW.creatorID) != (SELECT libraryID FROM items WHERE itemID = NEW.itemID); + (SELECT libraryID FROM creators WHERE creatorID = NEW.creatorID) != (SELECT libraryID FROM items WHERE itemID = NEW.itemID);--- END; DROP TRIGGER IF EXISTS fku_itemCreators_libraryID; @@ -983,7 +985,7 @@ CREATE TRIGGER fku_itemCreators_libraryID AND (SELECT libraryID FROM items WHERE itemID = NEW.itemID) IS NULL ) OR - (SELECT libraryID FROM creators WHERE creatorID = NEW.creatorID) != (SELECT libraryID FROM items WHERE itemID = NEW.itemID); + (SELECT libraryID FROM creators WHERE creatorID = NEW.creatorID) != (SELECT libraryID FROM items WHERE itemID = NEW.itemID);--- END; @@ -993,7 +995,7 @@ CREATE TRIGGER fki_itemData_itemID_items_itemID BEFORE INSERT ON itemData FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table "itemData" violates foreign key constraint "fki_itemData_itemID_items_itemID"') - WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0; + WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0;--- END; DROP TRIGGER IF EXISTS fku_itemData_itemID_items_itemID; @@ -1001,7 +1003,7 @@ CREATE TRIGGER fku_itemData_itemID_items_itemID BEFORE UPDATE OF itemID ON itemData FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "itemData" violates foreign key constraint "fku_itemData_itemID_items_itemID"') - WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0; + WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0;--- END; DROP TRIGGER IF EXISTS fkd_itemData_itemID_items_itemID; @@ -1009,14 +1011,14 @@ CREATE TRIGGER fkd_itemData_itemID_items_itemID BEFORE DELETE ON items FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'delete on table "items" violates foreign key constraint "fkd_itemData_itemID_items_itemID"') - WHERE (SELECT COUNT(*) FROM itemData WHERE itemID = OLD.itemID) > 0; + WHERE (SELECT COUNT(*) FROM itemData WHERE itemID = OLD.itemID) > 0;--- END; DROP TRIGGER IF EXISTS fku_items_itemID_itemData_itemID; CREATE TRIGGER fku_items_itemID_itemData_itemID AFTER UPDATE OF itemID ON items FOR EACH ROW BEGIN - UPDATE itemData SET itemID=NEW.itemID WHERE itemID=OLD.itemID; + UPDATE itemData SET itemID=NEW.itemID WHERE itemID=OLD.itemID;--- END; -- itemData/fieldID @@ -1025,7 +1027,7 @@ CREATE TRIGGER fki_itemData_fieldID_fields_fieldID BEFORE INSERT ON itemData FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table "itemData" violates foreign key constraint "fki_itemData_fieldID_fieldsCombined_fieldID"') - WHERE NEW.fieldID IS NOT NULL AND (SELECT COUNT(*) FROM fieldsCombined WHERE fieldID = NEW.fieldID) = 0; + WHERE NEW.fieldID IS NOT NULL AND (SELECT COUNT(*) FROM fieldsCombined WHERE fieldID = NEW.fieldID) = 0;--- END; DROP TRIGGER IF EXISTS fku_itemData_fieldID_fields_fieldID; @@ -1033,7 +1035,7 @@ CREATE TRIGGER fku_itemData_fieldID_fields_fieldID BEFORE UPDATE OF fieldID ON itemData FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "itemData" violates foreign key constraint "fku_itemData_fieldID_fieldsCombined_fieldID"') - WHERE NEW.fieldID IS NOT NULL AND (SELECT COUNT(*) FROM fieldsCombined WHERE fieldID = NEW.fieldID) = 0; + WHERE NEW.fieldID IS NOT NULL AND (SELECT COUNT(*) FROM fieldsCombined WHERE fieldID = NEW.fieldID) = 0;--- END; -- itemData/valueID @@ -1042,7 +1044,7 @@ CREATE TRIGGER fki_itemData_valueID_itemDataValues_valueID BEFORE INSERT ON itemData FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table "itemData" violates foreign key constraint "fki_itemData_valueID_itemDataValues_valueID"') - WHERE NEW.valueID IS NOT NULL AND (SELECT COUNT(*) FROM itemDataValues WHERE valueID = NEW.valueID) = 0; + WHERE NEW.valueID IS NOT NULL AND (SELECT COUNT(*) FROM itemDataValues WHERE valueID = NEW.valueID) = 0;--- END; DROP TRIGGER IF EXISTS fku_itemData_valueID_itemDataValues_valueID; @@ -1050,7 +1052,7 @@ CREATE TRIGGER fku_itemData_valueID_itemDataValues_valueID BEFORE UPDATE OF valueID ON itemData FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "itemData" violates foreign key constraint "fku_itemData_valueID_itemDataValues_valueID"') - WHERE NEW.valueID IS NOT NULL AND (SELECT COUNT(*) FROM itemDataValues WHERE valueID = NEW.valueID) = 0; + WHERE NEW.valueID IS NOT NULL AND (SELECT COUNT(*) FROM itemDataValues WHERE valueID = NEW.valueID) = 0;--- END; DROP TRIGGER IF EXISTS fkd_itemData_valueID_itemDataValues_valueID; @@ -1058,7 +1060,7 @@ CREATE TRIGGER fkd_itemData_valueID_itemDataValues_valueID BEFORE DELETE ON itemDataValues FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'delete on table "itemDataValues" violates foreign key constraint "fkd_itemData_valueID_itemDataValues_valueID"') - WHERE (SELECT COUNT(*) FROM itemData WHERE valueID = OLD.valueID) > 0; + WHERE (SELECT COUNT(*) FROM itemData WHERE valueID = OLD.valueID) > 0;--- END; DROP TRIGGER IF EXISTS fku_itemDataValues_valueID_itemData_valueID; @@ -1066,7 +1068,7 @@ CREATE TRIGGER fku_itemDataValues_valueID_itemData_valueID BEFORE UPDATE OF valueID ON itemDataValues FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "itemDataValues" violates foreign key constraint "fku_itemDataValues_valueID_itemData_valueID"') - WHERE (SELECT COUNT(*) FROM itemData WHERE valueID = OLD.valueID) > 0; + WHERE (SELECT COUNT(*) FROM itemData WHERE valueID = OLD.valueID) > 0;--- END; -- itemNotes/itemID @@ -1075,7 +1077,7 @@ CREATE TRIGGER fki_itemNotes_itemID_items_itemID BEFORE INSERT ON itemNotes FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table "itemNotes" violates foreign key constraint "fki_itemNotes_itemID_items_itemID"') - WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0; + WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0;--- END; DROP TRIGGER IF EXISTS fku_itemNotes_itemID_items_itemID; @@ -1083,7 +1085,7 @@ CREATE TRIGGER fku_itemNotes_itemID_items_itemID BEFORE UPDATE OF itemID ON itemNotes FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "itemNotes" violates foreign key constraint "fku_itemNotes_itemID_items_itemID"') - WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0; + WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0;--- END; DROP TRIGGER IF EXISTS fkd_itemNotes_itemID_items_itemID; @@ -1091,14 +1093,14 @@ CREATE TRIGGER fkd_itemNotes_itemID_items_itemID BEFORE DELETE ON items FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'delete on table "items" violates foreign key constraint "fkd_itemNotes_itemID_items_itemID"') - WHERE (SELECT COUNT(*) FROM itemNotes WHERE itemID = OLD.itemID) > 0; + WHERE (SELECT COUNT(*) FROM itemNotes WHERE itemID = OLD.itemID) > 0;--- END; DROP TRIGGER IF EXISTS fku_items_itemID_itemNotes_itemID; CREATE TRIGGER fku_items_itemID_itemNotes_itemID AFTER UPDATE OF itemID ON items FOR EACH ROW BEGIN - UPDATE itemNotes SET itemID=NEW.itemID WHERE itemID=OLD.itemID; + UPDATE itemNotes SET itemID=NEW.itemID WHERE itemID=OLD.itemID;--- END; @@ -1120,19 +1122,19 @@ CREATE TRIGGER fki_itemNotes (SELECT libraryID FROM items WHERE itemID = NEW.sourceItemID) IS NULL ) OR (SELECT libraryID FROM items WHERE itemID = NEW.itemID) != (SELECT libraryID FROM items WHERE itemID = NEW.sourceItemID) - ); + );--- -- Make sure this is a note or attachment item SELECT RAISE(ABORT, 'item is not a note or attachment') WHERE - (SELECT itemTypeID FROM items WHERE itemID = NEW.itemID) NOT IN (1,14); + (SELECT itemTypeID FROM items WHERE itemID = NEW.itemID) NOT IN (1,14);--- -- Make sure parent is a regular item SELECT RAISE(ABORT, 'parent is not a regular item') WHERE - NEW.sourceItemID IS NOT NULL AND (SELECT itemTypeID FROM items WHERE itemID = NEW.sourceItemID) IN (1,14); + NEW.sourceItemID IS NOT NULL AND (SELECT itemTypeID FROM items WHERE itemID = NEW.sourceItemID) IN (1,14);--- -- If child, make sure note is not in a collection SELECT RAISE(ABORT, 'collection item must be top level') WHERE - NEW.sourceItemID IS NOT NULL AND (SELECT COUNT(*) FROM collectionItems WHERE itemID=NEW.itemID)>0; + NEW.sourceItemID IS NOT NULL AND (SELECT COUNT(*) FROM collectionItems WHERE itemID=NEW.itemID)>0;--- END; DROP TRIGGER IF EXISTS fku_itemNotes; @@ -1152,11 +1154,11 @@ CREATE TRIGGER fku_itemNotes (SELECT libraryID FROM items WHERE itemID = NEW.sourceItemID) IS NULL ) OR (SELECT libraryID FROM items WHERE itemID = NEW.itemID) != (SELECT libraryID FROM items WHERE itemID = NEW.sourceItemID) - ); + );--- -- Make sure parent is a regular item SELECT RAISE(ABORT, 'parent is not a regular item') WHERE - NEW.sourceItemID IS NOT NULL AND (SELECT itemTypeID FROM items WHERE itemID = NEW.sourceItemID) IN (1,14); + NEW.sourceItemID IS NOT NULL AND (SELECT itemTypeID FROM items WHERE itemID = NEW.sourceItemID) IN (1,14);--- END; @@ -1166,7 +1168,7 @@ CREATE TRIGGER fki_itemNotes_sourceItemID_items_itemID BEFORE INSERT ON itemNotes FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table "itemNotes" violates foreign key constraint "fki_itemNotes_sourceItemID_items_itemID"') - WHERE NEW.sourceItemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.sourceItemID) = 0; + WHERE NEW.sourceItemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.sourceItemID) = 0;--- END; DROP TRIGGER IF EXISTS fku_itemNotes_sourceItemID_items_itemID; @@ -1174,7 +1176,7 @@ CREATE TRIGGER fku_itemNotes_sourceItemID_items_itemID BEFORE UPDATE OF sourceItemID ON itemNotes FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "itemNotes" violates foreign key constraint "fku_itemNotes_sourceItemID_items_itemID"') - WHERE NEW.sourceItemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.sourceItemID) = 0; + WHERE NEW.sourceItemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.sourceItemID) = 0;--- END; DROP TRIGGER IF EXISTS fkd_itemNotes_sourceItemID_items_itemID; @@ -1182,14 +1184,14 @@ CREATE TRIGGER fkd_itemNotes_sourceItemID_items_itemID BEFORE DELETE ON items FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'delete on table "items" violates foreign key constraint "fkd_itemNotes_sourceItemID_items_itemID"') - WHERE (SELECT COUNT(*) FROM itemNotes WHERE sourceItemID = OLD.itemID) > 0; + WHERE (SELECT COUNT(*) FROM itemNotes WHERE sourceItemID = OLD.itemID) > 0;--- END; DROP TRIGGER IF EXISTS fku_items_itemID_itemNotes_sourceItemID; CREATE TRIGGER fku_items_itemID_itemNotes_sourceItemID AFTER UPDATE OF itemID ON items FOR EACH ROW BEGIN - UPDATE itemNotes SET sourceItemID=NEW.itemID WHERE sourceItemID=OLD.itemID; + UPDATE itemNotes SET sourceItemID=NEW.itemID WHERE sourceItemID=OLD.itemID;--- END; -- items/libraryID @@ -1198,7 +1200,7 @@ CREATE TRIGGER fki_items_libraryID_libraries_libraryID BEFORE INSERT ON items FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table "items" violates foreign key constraint "fki_items_libraryID_libraries_libraryID"') - WHERE NEW.libraryID IS NOT NULL AND (SELECT COUNT(*) FROM libraries WHERE libraryID = NEW.libraryID) = 0; + WHERE NEW.libraryID IS NOT NULL AND (SELECT COUNT(*) FROM libraries WHERE libraryID = NEW.libraryID) = 0;--- END; DROP TRIGGER IF EXISTS fku_items_libraryID_libraries_libraryID; @@ -1206,7 +1208,7 @@ CREATE TRIGGER fku_items_libraryID_libraries_libraryID BEFORE UPDATE OF libraryID ON items FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "items" violates foreign key constraint "fku_items_libraryID_libraries_libraryID"') - WHERE NEW.libraryID IS NOT NULL AND (SELECT COUNT(*) FROM libraries WHERE libraryID = NEW.libraryID) = 0; + WHERE NEW.libraryID IS NOT NULL AND (SELECT COUNT(*) FROM libraries WHERE libraryID = NEW.libraryID) = 0;--- END; DROP TRIGGER IF EXISTS fkd_items_libraryID_libraries_libraryID; @@ -1214,14 +1216,14 @@ CREATE TRIGGER fkd_items_libraryID_libraries_libraryID BEFORE DELETE ON libraries FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'delete on table "libraries" violates foreign key constraint "fkd_items_libraryID_libraries_libraryID"') - WHERE (SELECT COUNT(*) FROM items WHERE libraryID = OLD.libraryID) > 0; + WHERE (SELECT COUNT(*) FROM items WHERE libraryID = OLD.libraryID) > 0;--- END; DROP TRIGGER IF EXISTS fku_libraries_libraryID_items_libraryID; CREATE TRIGGER fku_libraries_libraryID_items_libraryID AFTER UPDATE OF libraryID ON libraries FOR EACH ROW BEGIN - UPDATE items SET libraryID=NEW.libraryID WHERE libraryID=OLD.libraryID; + UPDATE items SET libraryID=NEW.libraryID WHERE libraryID=OLD.libraryID;--- END; -- itemSeeAlso/itemID @@ -1230,7 +1232,7 @@ CREATE TRIGGER fki_itemSeeAlso_itemID_items_itemID BEFORE INSERT ON itemSeeAlso FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table "itemSeeAlso" violates foreign key constraint "fki_itemSeeAlso_itemID_items_itemID"') - WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0; + WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0;--- END; DROP TRIGGER IF EXISTS fku_itemSeeAlso_itemID_items_itemID; @@ -1238,7 +1240,7 @@ CREATE TRIGGER fku_itemSeeAlso_itemID_items_itemID BEFORE UPDATE OF itemID ON itemSeeAlso FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "itemSeeAlso" violates foreign key constraint "fku_itemSeeAlso_itemID_items_itemID"') - WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0; + WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0;--- END; DROP TRIGGER IF EXISTS fkd_itemSeeAlso_itemID_items_itemID; @@ -1246,14 +1248,14 @@ CREATE TRIGGER fkd_itemSeeAlso_itemID_items_itemID BEFORE DELETE ON items FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'delete on table "items" violates foreign key constraint "fkd_itemSeeAlso_itemID_items_itemID"') - WHERE (SELECT COUNT(*) FROM itemSeeAlso WHERE itemID = OLD.itemID) > 0; + WHERE (SELECT COUNT(*) FROM itemSeeAlso WHERE itemID = OLD.itemID) > 0;--- END; DROP TRIGGER IF EXISTS fku_items_itemID_itemSeeAlso_itemID; CREATE TRIGGER fku_items_itemID_itemSeeAlso_itemID AFTER UPDATE OF itemID ON items FOR EACH ROW BEGIN - UPDATE itemSeeAlso SET itemID=NEW.itemID WHERE itemID=OLD.itemID; + UPDATE itemSeeAlso SET itemID=NEW.itemID WHERE itemID=OLD.itemID;--- END; -- itemSeeAlso/linkedItemID @@ -1262,7 +1264,7 @@ CREATE TRIGGER fki_itemSeeAlso_linkedItemID_items_itemID BEFORE INSERT ON itemSeeAlso FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table "itemSeeAlso" violates foreign key constraint "fki_itemSeeAlso_linkedItemID_items_itemID"') - WHERE NEW.linkedItemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.linkedItemID) = 0; + WHERE NEW.linkedItemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.linkedItemID) = 0;--- END; DROP TRIGGER IF EXISTS fku_itemSeeAlso_linkedItemID_items_itemID; @@ -1270,7 +1272,7 @@ CREATE TRIGGER fku_itemSeeAlso_linkedItemID_items_itemID BEFORE UPDATE OF linkedItemID ON itemSeeAlso FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "itemSeeAlso" violates foreign key constraint "fku_itemSeeAlso_linkedItemID_items_itemID"') - WHERE NEW.linkedItemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.linkedItemID) = 0; + WHERE NEW.linkedItemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.linkedItemID) = 0;--- END; DROP TRIGGER IF EXISTS fkd_itemSeeAlso_linkedItemID_items_itemID; @@ -1278,14 +1280,14 @@ CREATE TRIGGER fkd_itemSeeAlso_linkedItemID_items_itemID BEFORE DELETE ON items FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'delete on table "items" violates foreign key constraint "fkd_itemSeeAlso_linkedItemID_items_itemID"') - WHERE (SELECT COUNT(*) FROM itemSeeAlso WHERE linkedItemID = OLD.itemID) > 0; + WHERE (SELECT COUNT(*) FROM itemSeeAlso WHERE linkedItemID = OLD.itemID) > 0;--- END; DROP TRIGGER IF EXISTS fku_items_itemID_itemSeeAlso_linkedItemID; CREATE TRIGGER fku_items_itemID_itemSeeAlso_linkedItemID AFTER UPDATE OF itemID ON items FOR EACH ROW BEGIN - UPDATE itemSeeAlso SET linkedItemID=NEW.itemID WHERE linkedItemID=OLD.itemID; + UPDATE itemSeeAlso SET linkedItemID=NEW.itemID WHERE linkedItemID=OLD.itemID;--- END; @@ -1304,7 +1306,7 @@ CREATE TRIGGER fki_itemSeeAlso_libraryID AND (SELECT libraryID FROM items WHERE itemID = NEW.linkedItemID) IS NULL ) OR - (SELECT libraryID FROM items WHERE itemID = NEW.itemID) != (SELECT libraryID FROM items WHERE itemID = NEW.linkedItemID); + (SELECT libraryID FROM items WHERE itemID = NEW.itemID) != (SELECT libraryID FROM items WHERE itemID = NEW.linkedItemID);--- END; DROP TRIGGER IF EXISTS fku_itemSeeAlso_libraryID; @@ -1321,7 +1323,7 @@ CREATE TRIGGER fku_itemSeeAlso_libraryID AND (SELECT libraryID FROM items WHERE itemID = NEW.linkedItemID) IS NULL ) OR - (SELECT libraryID FROM items WHERE itemID = NEW.itemID) != (SELECT libraryID FROM items WHERE itemID = NEW.linkedItemID); + (SELECT libraryID FROM items WHERE itemID = NEW.itemID) != (SELECT libraryID FROM items WHERE itemID = NEW.linkedItemID);--- END; @@ -1331,7 +1333,7 @@ CREATE TRIGGER fki_itemTags_itemID_items_itemID BEFORE INSERT ON itemTags FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table "itemTags" violates foreign key constraint "fki_itemTags_itemID_items_itemID"') - WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0; + WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0;--- END; DROP TRIGGER IF EXISTS fku_itemTags_itemID_items_itemID; @@ -1339,7 +1341,7 @@ CREATE TRIGGER fku_itemTags_itemID_items_itemID BEFORE UPDATE OF itemID ON itemTags FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "itemTags" violates foreign key constraint "fku_itemTags_itemID_items_itemID"') - WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0; + WHERE NEW.itemID IS NOT NULL AND (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0;--- END; DROP TRIGGER IF EXISTS fkd_itemTags_itemID_items_itemID; @@ -1347,14 +1349,14 @@ CREATE TRIGGER fkd_itemTags_itemID_items_itemID BEFORE DELETE ON items FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'delete on table "items" violates foreign key constraint "fkd_itemTags_itemID_items_itemID"') - WHERE (SELECT COUNT(*) FROM itemTags WHERE itemID = OLD.itemID) > 0; + WHERE (SELECT COUNT(*) FROM itemTags WHERE itemID = OLD.itemID) > 0;--- END; DROP TRIGGER IF EXISTS fkd_items_itemID_itemTags_itemID; CREATE TRIGGER fkd_items_itemID_itemTags_itemID AFTER UPDATE OF itemID ON items FOR EACH ROW BEGIN - UPDATE itemTags SET itemID=NEW.itemID WHERE itemID=OLD.itemID; + UPDATE itemTags SET itemID=NEW.itemID WHERE itemID=OLD.itemID;--- END; @@ -1373,7 +1375,7 @@ CREATE TRIGGER fki_itemTags_libraryID AND (SELECT libraryID FROM items WHERE itemID = NEW.itemID) IS NULL ) OR - (SELECT libraryID FROM tags WHERE tagID = NEW.tagID) != (SELECT libraryID FROM items WHERE itemID = NEW.itemID); + (SELECT libraryID FROM tags WHERE tagID = NEW.tagID) != (SELECT libraryID FROM items WHERE itemID = NEW.itemID);--- END; DROP TRIGGER IF EXISTS fku_itemTags_libraryID; @@ -1390,7 +1392,7 @@ CREATE TRIGGER fku_itemTags_libraryID AND (SELECT libraryID FROM items WHERE itemID = NEW.itemID) IS NULL ) OR - (SELECT libraryID FROM tags WHERE tagID = NEW.tagID) != (SELECT libraryID FROM items WHERE itemID = NEW.itemID); + (SELECT libraryID FROM tags WHERE tagID = NEW.tagID) != (SELECT libraryID FROM items WHERE itemID = NEW.itemID);--- END; @@ -1400,7 +1402,7 @@ CREATE TRIGGER fki_itemTags_tagID_tags_tagID BEFORE INSERT ON itemTags FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table "itemTags" violates foreign key constraint "fki_itemTags_tagID_tags_tagID"') - WHERE NEW.tagID IS NOT NULL AND (SELECT COUNT(*) FROM tags WHERE tagID = NEW.tagID) = 0; + WHERE NEW.tagID IS NOT NULL AND (SELECT COUNT(*) FROM tags WHERE tagID = NEW.tagID) = 0;--- END; DROP TRIGGER IF EXISTS fku_itemTags_tagID_tags_tagID; @@ -1408,7 +1410,7 @@ CREATE TRIGGER fku_itemTags_tagID_tags_tagID BEFORE UPDATE OF tagID ON itemTags FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "itemTags" violates foreign key constraint "fku_itemTags_tagID_tags_tagID"') - WHERE NEW.tagID IS NOT NULL AND (SELECT COUNT(*) FROM tags WHERE tagID = NEW.tagID) = 0; + WHERE NEW.tagID IS NOT NULL AND (SELECT COUNT(*) FROM tags WHERE tagID = NEW.tagID) = 0;--- END; DROP TRIGGER IF EXISTS fkd_itemTags_tagID_tags_tagID; @@ -1416,14 +1418,14 @@ CREATE TRIGGER fkd_itemTags_tagID_tags_tagID BEFORE DELETE ON tags FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'delete on table "tags" violates foreign key constraint "fkd_itemTags_tagID_tags_tagID"') - WHERE (SELECT COUNT(*) FROM itemTags WHERE tagID = OLD.tagID) > 0; + WHERE (SELECT COUNT(*) FROM itemTags WHERE tagID = OLD.tagID) > 0;--- END; DROP TRIGGER IF EXISTS fku_tags_tagID_itemTags_tagID; CREATE TRIGGER fku_tags_tagID_itemTags_tagID AFTER UPDATE OF tagID ON tags FOR EACH ROW BEGIN - UPDATE itemTags SET tagID=NEW.tagID WHERE tagID=OLD.tagID; + UPDATE itemTags SET tagID=NEW.tagID WHERE tagID=OLD.tagID;--- END; @@ -1433,7 +1435,7 @@ CREATE TRIGGER fki_savedSearchConditions_savedSearchID_savedSearches_savedSearch BEFORE INSERT ON savedSearchConditions FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table "savedSearchConditions" violates foreign key constraint "fki_savedSearchConditions_savedSearchID_savedSearches_savedSearchID"') - WHERE (SELECT COUNT(*) FROM savedSearches WHERE savedSearchID = NEW.savedSearchID) = 0; + WHERE (SELECT COUNT(*) FROM savedSearches WHERE savedSearchID = NEW.savedSearchID) = 0;--- END; DROP TRIGGER IF EXISTS fku_savedSearchConditions_savedSearchID_savedSearches_savedSearchID; @@ -1441,7 +1443,7 @@ CREATE TRIGGER fku_savedSearchConditions_savedSearchID_savedSearches_savedSearch BEFORE UPDATE OF savedSearchID ON savedSearchConditions FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "savedSearchConditions" violates foreign key constraint "fku_savedSearchConditions_savedSearchID_savedSearches_savedSearchID"') - WHERE (SELECT COUNT(*) FROM savedSearches WHERE savedSearchID = NEW.savedSearchID) = 0; + WHERE (SELECT COUNT(*) FROM savedSearches WHERE savedSearchID = NEW.savedSearchID) = 0;--- END; DROP TRIGGER IF EXISTS fkd_savedSearchConditions_savedSearchID_savedSearches_savedSearchID; @@ -1449,14 +1451,14 @@ CREATE TRIGGER fkd_savedSearchConditions_savedSearchID_savedSearches_savedSearch BEFORE DELETE ON savedSearches FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'delete on table "savedSearches" violates foreign key constraint "fkd_savedSearchConditions_savedSearchID_savedSearches_savedSearchID"') - WHERE (SELECT COUNT(*) FROM savedSearchConditions WHERE savedSearchID = OLD.savedSearchID) > 0; + WHERE (SELECT COUNT(*) FROM savedSearchConditions WHERE savedSearchID = OLD.savedSearchID) > 0;--- END; DROP TRIGGER IF EXISTS fku_savedSearches_savedSearchID_savedSearchConditions_savedSearchID; CREATE TRIGGER fku_savedSearches_savedSearchID_savedSearchConditions_savedSearchID AFTER UPDATE OF savedSearchID ON savedSearches FOR EACH ROW BEGIN - UPDATE savedSearchConditions SET savedSearchID=NEW.savedSearchID WHERE savedSearchID=OLD.savedSearchID; + UPDATE savedSearchConditions SET savedSearchID=NEW.savedSearchID WHERE savedSearchID=OLD.savedSearchID;--- END; -- deletedItems/itemID @@ -1465,7 +1467,7 @@ 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; + WHERE (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0;--- END; DROP TRIGGER IF EXISTS fku_deletedItems_itemID_items_itemID; @@ -1473,7 +1475,7 @@ 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; + WHERE (SELECT COUNT(*) FROM items WHERE itemID = NEW.itemID) = 0;--- END; DROP TRIGGER IF EXISTS fkd_deletedItems_itemID_items_itemID; @@ -1481,14 +1483,14 @@ 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; + 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; + UPDATE deletedItems SET itemID=NEW.itemID WHERE itemID=OLD.itemID;--- END; @@ -1498,7 +1500,7 @@ CREATE TRIGGER fki_syncDeleteLog_syncObjectTypeID_syncObjectTypes_syncObjectType BEFORE INSERT ON syncDeleteLog FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table "syncDeleteLog" violates foreign key constraint "fki_syncDeleteLog_syncObjectTypeID_syncObjectTypes_syncObjectTypeID"') - WHERE (SELECT COUNT(*) FROM syncObjectTypes WHERE syncObjectTypeID = NEW.syncObjectTypeID) = 0; + WHERE (SELECT COUNT(*) FROM syncObjectTypes WHERE syncObjectTypeID = NEW.syncObjectTypeID) = 0;--- END; DROP TRIGGER IF EXISTS fku_syncDeleteLog_syncObjectTypeID_syncObjectTypes_syncObjectTypeID; @@ -1506,7 +1508,7 @@ CREATE TRIGGER fku_syncDeleteLog_syncObjectTypeID_syncObjectTypes_syncObjectType BEFORE UPDATE OF syncObjectTypeID ON syncDeleteLog FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "syncDeleteLog" violates foreign key constraint "fku_syncDeleteLog_syncObjectTypeID_syncObjectTypes_syncObjectTypeID"') - WHERE (SELECT COUNT(*) FROM syncObjectTypes WHERE syncObjectTypeID = NEW.syncObjectTypeID) = 0; + WHERE (SELECT COUNT(*) FROM syncObjectTypes WHERE syncObjectTypeID = NEW.syncObjectTypeID) = 0;--- END; DROP TRIGGER IF EXISTS fkd_syncDeleteLog_syncObjectTypeID_syncObjectTypes_syncObjectTypeID; @@ -1514,7 +1516,7 @@ CREATE TRIGGER fkd_syncDeleteLog_syncObjectTypeID_syncObjectTypes_syncObjectType BEFORE DELETE ON syncObjectTypes FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'delete on table "syncObjectTypes" violates foreign key constraint "fkd_syncDeleteLog_syncObjectTypeID_syncObjectTypes_syncObjectTypeID"') - WHERE (SELECT COUNT(*) FROM syncDeleteLog WHERE syncObjectTypeID = OLD.syncObjectTypeID) > 0; + WHERE (SELECT COUNT(*) FROM syncDeleteLog WHERE syncObjectTypeID = OLD.syncObjectTypeID) > 0;--- END; DROP TRIGGER IF EXISTS fku_syncObjectTypes_syncObjectTypeID_syncDeleteLog_syncObjectTypeID; @@ -1522,7 +1524,7 @@ CREATE TRIGGER fku_syncObjectTypes_syncObjectTypeID_syncDeleteLog_syncObjectType BEFORE DELETE ON syncObjectTypes FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "syncObjectTypes" violates foreign key constraint "fku_syncObjectTypes_syncObjectTypeID_syncDeleteLog_syncObjectTypeID"') - WHERE (SELECT COUNT(*) FROM syncDeleteLog WHERE syncObjectTypeID = OLD.syncObjectTypeID) > 0; + WHERE (SELECT COUNT(*) FROM syncDeleteLog WHERE syncObjectTypeID = OLD.syncObjectTypeID) > 0;--- END; -- proxyHosts/proxyID @@ -1531,7 +1533,7 @@ CREATE TRIGGER fki_proxyHosts_proxyID_proxies_proxyID BEFORE INSERT ON proxyHosts FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table "proxyHosts" violates foreign key constraint "fki_proxyHosts_proxyID_proxies_proxyID"') - WHERE (SELECT COUNT(*) FROM proxies WHERE proxyID = NEW.proxyID) = 0; + WHERE (SELECT COUNT(*) FROM proxies WHERE proxyID = NEW.proxyID) = 0;--- END; DROP TRIGGER IF EXISTS fku_proxyHosts_proxyID_proxies_proxyID; @@ -1539,7 +1541,7 @@ CREATE TRIGGER fku_proxyHosts_proxyID_proxies_proxyID BEFORE UPDATE OF proxyID ON proxyHosts FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "proxyHosts" violates foreign key constraint "fku_proxyHosts_proxyID_proxies_proxyID"') - WHERE (SELECT COUNT(*) FROM proxies WHERE proxyID = NEW.proxyID) = 0; + WHERE (SELECT COUNT(*) FROM proxies WHERE proxyID = NEW.proxyID) = 0;--- END; DROP TRIGGER IF EXISTS fkd_proxyHosts_proxyID_proxies_proxyID; @@ -1547,7 +1549,7 @@ CREATE TRIGGER fkd_proxyHosts_proxyID_proxies_proxyID BEFORE DELETE ON proxies FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'delete on table "proxies" violates foreign key constraint "fkd_proxyHosts_proxyID_proxies_proxyID"') - WHERE (SELECT COUNT(*) FROM proxyHosts WHERE proxyID = OLD.proxyID) > 0; + WHERE (SELECT COUNT(*) FROM proxyHosts WHERE proxyID = OLD.proxyID) > 0;--- END; DROP TRIGGER IF EXISTS fku_proxies_proxyID_proxyHosts_proxyID; @@ -1555,7 +1557,7 @@ CREATE TRIGGER fku_proxies_proxyID_proxyHosts_proxyID BEFORE DELETE ON proxies FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table "proxies" violates foreign key constraint "fku_proxies_proxyID_proxyHosts_proxyID"') - WHERE (SELECT COUNT(*) FROM proxyHosts WHERE proxyID = OLD.proxyID) > 0; + WHERE (SELECT COUNT(*) FROM proxyHosts WHERE proxyID = OLD.proxyID) > 0;--- END; -- Make sure tags aren't empty @@ -1564,7 +1566,7 @@ CREATE TRIGGER fki_tags BEFORE INSERT ON tags FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'Tag cannot be blank') - WHERE TRIM(NEW.name)=''; + WHERE TRIM(NEW.name)='';--- END; DROP TRIGGER IF EXISTS fku_tags; @@ -1572,6 +1574,6 @@ CREATE TRIGGER fku_tags BEFORE UPDATE OF name ON tags FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'Tag cannot be blank') - WHERE TRIM(NEW.name)=''; + WHERE TRIM(NEW.name)='';--- END;