]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/sql/Pg/version-upgrade/2.10.1-2.10.2-upgrade-db.sql
2.10.1 to 2.10.2 schema upgrade script
[Evergreen.git] / Open-ILS / src / sql / Pg / version-upgrade / 2.10.1-2.10.2-upgrade-db.sql
1 --Upgrade Script for 2.10.1 to 2.10.2
2 \set eg_version '''2.10.2'''
3 BEGIN;
4
5 INSERT INTO config.upgrade_log (version, applied_to) VALUES ('2.10.2', :eg_version);
6
7 SELECT evergreen.upgrade_deps_block_check('0976', :eg_version);
8
9 ALTER TABLE action.usr_circ_history 
10     DROP CONSTRAINT IF EXISTS usr_circ_history_target_copy_fkey;
11
12 CREATE TRIGGER action_usr_circ_history_target_copy_trig 
13     AFTER INSERT OR UPDATE ON action.usr_circ_history 
14     FOR EACH ROW EXECUTE PROCEDURE evergreen.fake_fkey_tgr('target_copy');
15
16 SELECT evergreen.upgrade_deps_block_check('0977', :eg_version); -- Callender/Dyrcona/gmcharlt
17
18 ALTER TABLE biblio.monograph_part DROP CONSTRAINT "record_label_unique";
19 CREATE UNIQUE INDEX record_label_unique_idx ON biblio.monograph_part (record, label) WHERE deleted = FALSE;
20
21 SELECT evergreen.upgrade_deps_block_check('0978', :eg_version);
22
23 -- note: it is not necessary to explicitly drop the previous VARIADIC
24 -- version of this stored procedure; create or replace function...
25 -- suffices.
26 CREATE OR REPLACE FUNCTION actor.org_unit_ancestor_setting_batch( org_id INT, setting_names TEXT[] ) RETURNS SETOF actor.org_unit_setting AS $$
27 DECLARE
28     setting RECORD;
29     setting_name TEXT;
30     cur_org INT;
31 BEGIN
32     FOREACH setting_name IN ARRAY setting_names
33     LOOP
34         cur_org := org_id;
35         LOOP
36             SELECT INTO setting * FROM actor.org_unit_setting WHERE org_unit = cur_org AND name = setting_name;
37             IF FOUND THEN
38                 RETURN NEXT setting;
39                 EXIT;
40             END IF;
41             SELECT INTO cur_org parent_ou FROM actor.org_unit WHERE id = cur_org;
42             EXIT WHEN cur_org IS NULL;
43         END LOOP;
44     END LOOP;
45     RETURN;
46 END;
47 $$ LANGUAGE plpgsql STABLE;
48
49 COMMENT ON FUNCTION actor.org_unit_ancestor_setting_batch( INT,  TEXT[] ) IS $$
50 For each setting name passed, search "up" the org_unit tree until
51 we find the first occurrence of an org_unit_setting with the given name.
52 $$;
53
54 COMMIT;