3 INSERT INTO config.upgrade_log (version) VALUES ('2.0.5');
4 INSERT INTO config.upgrade_log (version) VALUES ('0502'); -- dbwells
7 UPDATE asset.call_number_class
8 SET field = '080ab,082ab,092abef'
13 UPDATE asset.call_number_class
14 SET field = '050ab,055ab,090abef'
18 INSERT INTO config.upgrade_log (version) VALUES ('0505'); --miker
20 CREATE OR REPLACE FUNCTION force_unicode_normal_form(string TEXT, form TEXT) RETURNS TEXT AS $func$
21 use Unicode::Normalize 'normalize';
22 return normalize($_[1],$_[0]); # reverse the params
23 $func$ LANGUAGE PLPERLU;
25 UPDATE metabib.facet_entry SET value = force_unicode_normal_form(value,'NFC');
27 CREATE OR REPLACE FUNCTION facet_force_nfc() RETURNS TRIGGER AS $$
29 NEW.value := force_unicode_normal_form(NEW.value,'NFC');
34 CREATE TRIGGER facet_force_nfc_tgr
35 BEFORE UPDATE OR INSERT ON metabib.facet_entry
36 FOR EACH ROW EXECUTE PROCEDURE facet_force_nfc();
39 INSERT INTO config.upgrade_log (version) VALUES ('0506'); -- miker
41 ALTER FUNCTION actor.org_unit_descendants( INT, INT ) ROWS 1;
42 ALTER FUNCTION actor.org_unit_descendants( INT ) ROWS 1;
43 ALTER FUNCTION actor.org_unit_ancestors( INT ) ROWS 1;
44 ALTER FUNCTION actor.org_unit_full_path ( INT ) ROWS 2;
45 ALTER FUNCTION actor.org_unit_full_path ( INT, INT ) ROWS 2;
46 ALTER FUNCTION actor.org_unit_combined_ancestors ( INT, INT ) ROWS 1;
47 ALTER FUNCTION actor.org_unit_common_ancestors ( INT, INT ) ROWS 1;
48 ALTER FUNCTION actor.org_unit_ancestor_setting( TEXT, INT ) ROWS 1;
49 ALTER FUNCTION permission.grp_ancestors ( INT ) ROWS 1;
50 ALTER FUNCTION permission.usr_perms ( INT ) ROWS 10;
51 ALTER FUNCTION permission.usr_has_perm_at_nd ( INT, TEXT) ROWS 1;
52 ALTER FUNCTION permission.usr_has_perm_at_all_nd ( INT, TEXT ) ROWS 1;
53 ALTER FUNCTION permission.usr_has_perm_at ( INT, TEXT ) ROWS 1;
54 ALTER FUNCTION permission.usr_has_perm_at_all ( INT, TEXT ) ROWS 1;
56 CREATE OR REPLACE FUNCTION permission.grp_ancestors_distance( INT ) RETURNS TABLE (id INT, distance INT) AS $$
57 WITH RECURSIVE grp_ancestors_distance(id, distance) AS (
60 SELECT pgt.parent, gad.distance+1
61 FROM permission.grp_tree pgt JOIN grp_ancestors_distance gad ON (pgt.id = gad.id)
62 WHERE pgt.parent IS NOT NULL
64 SELECT * FROM grp_ancestors_distance;
65 $$ LANGUAGE SQL STABLE ROWS 1;
67 CREATE OR REPLACE FUNCTION permission.grp_descendants_distance( INT ) RETURNS TABLE (id INT, distance INT) AS $$
68 WITH RECURSIVE grp_descendants_distance(id, distance) AS (
71 SELECT pgt.id, gdd.distance+1
72 FROM permission.grp_tree pgt JOIN grp_descendants_distance gdd ON (pgt.parent = gdd.id)
74 SELECT * FROM grp_descendants_distance;
75 $$ LANGUAGE SQL STABLE ROWS 1;
77 CREATE OR REPLACE FUNCTION actor.org_unit_descendants_distance( INT ) RETURNS TABLE (id INT, distance INT) AS $$
78 WITH RECURSIVE org_unit_descendants_distance(id, distance) AS (
81 SELECT ou.id, oudd.distance+1
82 FROM actor.org_unit ou JOIN org_unit_descendants_distance oudd ON (ou.parent_ou = oudd.id)
84 SELECT * FROM org_unit_descendants_distance;
85 $$ LANGUAGE SQL STABLE ROWS 1;
87 CREATE OR REPLACE FUNCTION actor.org_unit_ancestors_distance( INT ) RETURNS TABLE (id INT, distance INT) AS $$
88 WITH RECURSIVE org_unit_ancestors_distance(id, distance) AS (
91 SELECT ou.parent_ou, ouad.distance+1
92 FROM actor.org_unit ou JOIN org_unit_ancestors_distance ouad ON (ou.id = ouad.id)
93 WHERE ou.parent_ou IS NOT NULL
95 SELECT * FROM org_unit_ancestors_distance;
96 $$ LANGUAGE SQL STABLE ROWS 1;