]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/sql/Pg/upgrade/0012.schema.circ-parent-circ.sql
Merge branch 'master' of git.evergreen-ils.org:Evergreen-DocBook into doc_consolidati...
[Evergreen.git] / Open-ILS / src / sql / Pg / upgrade / 0012.schema.circ-parent-circ.sql
1 BEGIN;
2
3 INSERT INTO config.upgrade_log (version) VALUES ('0012');
4
5 ALTER TABLE action.circulation
6 ADD COLUMN parent_circ BIGINT
7         REFERENCES action.circulation(id)
8         DEFERRABLE INITIALLY DEFERRED;
9
10 CREATE UNIQUE INDEX circ_parent_idx
11 ON action.circulation( parent_circ )
12 WHERE parent_circ IS NOT NULL;
13
14 CREATE OR REPLACE FUNCTION action.age_circ_on_delete () RETURNS TRIGGER AS $$
15 BEGIN
16     INSERT INTO action.aged_circulation
17         (id,usr_post_code, usr_home_ou, usr_profile, usr_birth_year, copy_call_number, copy_location,
18         copy_owning_lib, copy_circ_lib, copy_bib_record, xact_start, xact_finish, target_copy,
19         circ_lib, circ_staff, checkin_staff, checkin_lib, renewal_remaining, due_date,
20         stop_fines_time, checkin_time, create_time, duration, fine_interval, recuring_fine,
21         max_fine, phone_renewal, desk_renewal, opac_renewal, duration_rule, recuring_fine_rule,
22         max_fine_rule, stop_fines, checkin_workstation, checkin_scan_time, parent_circ)
23       SELECT
24         id,usr_post_code, usr_home_ou, usr_profile, usr_birth_year, copy_call_number, copy_location,
25         copy_owning_lib, copy_circ_lib, copy_bib_record, xact_start, xact_finish, target_copy,
26         circ_lib, circ_staff, checkin_staff, checkin_lib, renewal_remaining, due_date,
27         stop_fines_time, checkin_time, create_time, duration, fine_interval, recuring_fine,
28         max_fine, phone_renewal, desk_renewal, opac_renewal, duration_rule, recuring_fine_rule,
29         max_fine_rule, stop_fines, checkin_workstation, checkin_scan_time, parent_circ
30         FROM action.all_circulation WHERE id = OLD.id;
31
32     RETURN OLD;
33 END;
34 $$ LANGUAGE 'plpgsql';
35
36 COMMIT;