From b5f6ffb1cbfe747993e5e0f224beb58100ca3714 Mon Sep 17 00:00:00 2001 From: miker Date: Fri, 17 Mar 2006 18:14:42 +0000 Subject: [PATCH] adding "deleted" functionality to CNs git-svn-id: svn://svn.open-ils.org/ILS/trunk@3392 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI/asset.pm | 2 +- Open-ILS/src/sql/Pg/040.schema.asset.sql | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI/asset.pm b/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI/asset.pm index ca1dbd2bdf..46e629cae8 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI/asset.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI/asset.pm @@ -19,7 +19,7 @@ use base qw/asset/; __PACKAGE__->table( 'asset_call_number' ); __PACKAGE__->columns( Primary => qw/id/ ); __PACKAGE__->columns( Essential => qw/record label creator create_date editor - edit_date record label owning_lib/ ); + edit_date record label owning_lib deleted/ ); #------------------------------------------------------------------------------- package asset::call_number_note; diff --git a/Open-ILS/src/sql/Pg/040.schema.asset.sql b/Open-ILS/src/sql/Pg/040.schema.asset.sql index e8454cae73..271c5f0f7a 100644 --- a/Open-ILS/src/sql/Pg/040.schema.asset.sql +++ b/Open-ILS/src/sql/Pg/040.schema.asset.sql @@ -121,6 +121,7 @@ CREATE TABLE asset.call_number ( record bigint NOT NULL, owning_lib INT NOT NULL, label TEXT NOT NULL, + deleted BOOL NOT NULL DEFAULT FALSE, CONSTRAINT asset_call_number_label_once_per_lib UNIQUE (record, owning_lib, label) ); CREATE INDEX asset_call_number_record_idx ON asset.call_number (record); @@ -128,6 +129,7 @@ CREATE INDEX asset_call_number_creator_idx ON asset.call_number (creator); CREATE INDEX asset_call_number_editor_idx ON asset.call_number (editor); CREATE INDEX asset_call_number_dewey_idx ON asset.call_number (public.call_number_dewey(label)); CREATE INDEX asset_call_number_upper_label_id_owning_lib_idx ON asset.call_number (upper(label),id,owning_lib); +CREATE RULE protect_cn_delete AS ON DELETE TO asset.call_number DO INSTEAD UPDATE asset.call_number SET deleted = TRUE WHERE OLD.id = asset.call_number.id; INSERT INTO asset.call_number VALUES (-1,1,NOW(),1,NOW(),-1,1,'UNCATALOGED'); -- 2.43.2