From 6f69990ab4dfae360eab65ec47f8b63afa98da1f Mon Sep 17 00:00:00 2001 From: Bill Erickson Date: Mon, 16 Apr 2012 10:03:03 -0400 Subject: [PATCH] Copy Location Circ Limit Sets : DB/IDL 4 Signed-off-by: Bill Erickson --- Open-ILS/src/sql/Pg/100.circ_matrix.sql | 8 ++++++++ .../Pg/upgrade/XXXX.schema.copy_loc_circ_limits.sql | 21 ++++++++------------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/Open-ILS/src/sql/Pg/100.circ_matrix.sql b/Open-ILS/src/sql/Pg/100.circ_matrix.sql index a1912b1bbd..94bc7e3155 100644 --- a/Open-ILS/src/sql/Pg/100.circ_matrix.sql +++ b/Open-ILS/src/sql/Pg/100.circ_matrix.sql @@ -122,6 +122,14 @@ CREATE TABLE config.circ_limit_set_circ_mod_map ( CONSTRAINT cm_once_per_set UNIQUE (limit_set, circ_mod) ); +-- Linkage between limit sets and copy locations +CREATE TABLE config.circ_limit_set_copy_loc_map ( + id SERIAL PRIMARY KEY, + limit_set INT NOT NULL REFERENCES config.circ_limit_set (id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, + copy_loc INT NOT NULL REFERENCES asset.copy_location (id) ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE INITIALLY DEFERRED, + CONSTRAINT cl_once_per_set UNIQUE (limit_set, copy_loc) +); + -- Linkage between limit sets and limit groups CREATE TABLE config.circ_limit_set_group_map ( id SERIAL PRIMARY KEY, diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.copy_loc_circ_limits.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.copy_loc_circ_limits.sql index d36b11ff25..7bd883df28 100644 --- a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.copy_loc_circ_limits.sql +++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.copy_loc_circ_limits.sql @@ -1,12 +1,13 @@ -- Linkage between limit sets and circ mods ---CREATE TABLE config.circ_limit_set_copy_loc_map ( - --id SERIAL PRIMARY KEY, - --limit_set INT NOT NULL REFERENCES config.circ_limit_set (id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, - --copy_loc INT NOT NULL REFERENCES asset.copy_location (id) ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE INITIALLY DEFERRED, - --CONSTRAINT cl_once_per_set UNIQUE (limit_set, copy_loc) ---); - +CREATE TABLE config.circ_limit_set_copy_loc_map ( + id SERIAL PRIMARY KEY, + limit_set INT NOT NULL REFERENCES config.circ_limit_set (id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, + copy_loc INT NOT NULL REFERENCES asset.copy_location (id) ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE INITIALLY DEFERRED, + CONSTRAINT cl_once_per_set UNIQUE (limit_set, copy_loc) +); + +-- Add support for checking config.circ_limit_set_copy_loc_map's CREATE OR REPLACE FUNCTION action.item_user_circ_test( circ_ou INT, match_item BIGINT, match_user INT, renewal BOOL ) RETURNS SETOF action.circ_matrix_test_result AS $func$ DECLARE @@ -227,9 +228,3 @@ BEGIN END; $func$ LANGUAGE plpgsql; - -/* --- UNDO -DROP TABLE IF EXISTS config.circ_limit_set_copy_loc_map; -*/ - -- 2.11.0