Backport c12101 from rel_1_4 (make all FK constraints deferrable)
authordbs <dbs@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Sat, 7 Feb 2009 20:21:18 +0000 (20:21 +0000)
committerdbs <dbs@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Sat, 7 Feb 2009 20:21:18 +0000 (20:21 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_1_4_0@12102 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/sql/Pg/002.schema.config.sql
Open-ILS/src/sql/Pg/012.schema.vandelay.sql
Open-ILS/src/sql/Pg/040.schema.asset.sql
Open-ILS/src/sql/Pg/1.2.2.1-1.2.2.2-upgrade-db.sql
Open-ILS/src/sql/Pg/1.2.2.2-1.2.2.3-upgrade-db.sql
Open-ILS/src/sql/Pg/1.2.3-1.4-upgrade-db.sql

index 96e52b7..c56ba82 100644 (file)
@@ -463,7 +463,7 @@ CREATE TABLE config.z3950_source (
 
 CREATE TABLE config.z3950_attr (
     id          SERIAL  PRIMARY KEY,
-    source      TEXT    NOT NULL REFERENCES config.z3950_source (name),
+    source      TEXT    NOT NULL REFERENCES config.z3950_source (name) DEFERRABLE INITIALLY DEFERRED,
     name        TEXT    NOT NULL,
     label       TEXT    NOT NULL,
     code        INT     NOT NULL,
index dbdd157..b9503e4 100644 (file)
@@ -99,8 +99,8 @@ CREATE TABLE vandelay.bib_match (
 -- DROP TABLE vandelay.import_item CASCADE;
 CREATE TABLE vandelay.import_item (
     id              BIGSERIAL   PRIMARY KEY,
-    record          BIGINT      NOT NULL REFERENCES vandelay.queued_bib_record (id) ON DELETE CASCADE,
-    definition      BIGINT      NOT NULL REFERENCES vandelay.import_item_attr_definition (id) ON DELETE CASCADE,
+    record          BIGINT      NOT NULL REFERENCES vandelay.queued_bib_record (id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED,
+    definition      BIGINT      NOT NULL REFERENCES vandelay.import_item_attr_definition (id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED,
     owning_lib      INT,
     circ_lib        INT,
     call_number     TEXT,
index 098792f..9b07813 100644 (file)
@@ -69,8 +69,8 @@ CREATE RULE protect_copy_delete AS ON DELETE TO asset.copy DO INSTEAD UPDATE ass
 CREATE TABLE asset.copy_transparency (
        id              SERIAL          PRIMARY KEY,
        deposit_amount  NUMERIC(6,2),
-       owner           INT             NOT NULL REFERENCES actor.org_unit (id),
-       circ_lib        INT             REFERENCES actor.org_unit (id),
+       owner           INT             NOT NULL REFERENCES actor.org_unit (id) DEFERRABLE INITIALLY DEFERRED,
+       circ_lib        INT             REFERENCES actor.org_unit (id) DEFERRABLE INITIALLY DEFERRED,
        loan_duration   INT             CHECK ( loan_duration IN (1,2,3) ),
        fine_level      INT             CHECK ( fine_level IN (1,2,3) ),
        holdable        BOOL,
@@ -86,8 +86,8 @@ CREATE TABLE asset.copy_transparency (
 
 CREATE TABLE asset.copy_tranparency_map (
        id              BIGSERIAL       PRIMARY KEY,
-       tansparency     INT     NOT NULL REFERENCES asset.copy_transparency (id),
-       target_copy     INT     NOT NULL UNIQUE REFERENCES asset.copy (id)
+       tansparency     INT     NOT NULL REFERENCES asset.copy_transparency (id) DEFERRABLE INITIALLY DEFERRED,
+       target_copy     INT     NOT NULL UNIQUE REFERENCES asset.copy (id) DEFERRABLE INITIALLY DEFERRED
 );
 CREATE INDEX cp_tr_cp_idx ON asset.copy_tranparency_map (tansparency);
 
index 6820a9a..49ec817 100644 (file)
@@ -19,7 +19,7 @@ BEGIN;
 CREATE SCHEMA extend_reporter;
 
 CREATE TABLE extend_reporter.legacy_circ_count (
-    id          BIGSERIAL   PRIMARY KEY REFERENCES asset.copy (id),
+    id          BIGSERIAL   PRIMARY KEY REFERENCES asset.copy (id) DEFERRABLE INITIALLY DEFERRED,
     circ_count  INT         NOT NULL DEFAULT 0
 );
 
index 062cf70..92066c6 100644 (file)
@@ -20,7 +20,7 @@
 CREATE SCHEMA extend_reporter;
 
 CREATE TABLE extend_reporter.legacy_circ_count (
-    id          BIGSERIAL   PRIMARY KEY REFERENCES asset.copy (id),
+    id          BIGSERIAL   PRIMARY KEY REFERENCES asset.copy (id) DEFERRABLE INITIALLY DEFERRED,
     circ_count  INT         NOT NULL DEFAULT 0
 );
 
index 271cc41..a7ec22d 100644 (file)
@@ -165,7 +165,7 @@ INSERT INTO config.z3950_source (name, label, host, port, db, auth)
 
 CREATE TABLE config.z3950_attr (
     id          SERIAL  PRIMARY KEY,
-    source      TEXT    NOT NULL REFERENCES config.z3950_source (name),
+    source      TEXT    NOT NULL REFERENCES config.z3950_source (name) DEFERRABLE INITIALLY DEFERRED,
     name        TEXT    NOT NULL,
     label       TEXT    NOT NULL,
     code        INT     NOT NULL,
@@ -1985,8 +1985,8 @@ CREATE TABLE vandelay.bib_match (
 -- DROP TABLE vandelay.import_item CASCADE;
 CREATE TABLE vandelay.import_item (
     id              BIGSERIAL   PRIMARY KEY,
-    record          BIGINT      NOT NULL REFERENCES vandelay.queued_bib_record (id) ON DELETE CASCADE,
-    definition      BIGINT      NOT NULL REFERENCES vandelay.import_item_attr_definition (id) ON DELETE CASCADE,
+    record          BIGINT      NOT NULL REFERENCES vandelay.queued_bib_record (id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED,
+    definition      BIGINT      NOT NULL REFERENCES vandelay.import_item_attr_definition (id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED,
     owning_lib      INT,
     circ_lib        INT,
     call_number     TEXT,