1 -- Evergreen DB patch XXXX.fix_cat_default_class_lookup.sql
3 -- Fix LP#825303 by allowing for ancestor OUs to be checked
4 -- when retrieving the default classification scheme.
9 -- check whether patch can be applied
10 SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
12 CREATE OR REPLACE FUNCTION asset.label_normalizer() RETURNS TRIGGER AS $func$
16 sortkey := NEW.label_sortkey;
18 IF NEW.label_class IS NULL THEN
19 NEW.label_class := COALESCE(
21 SELECT substring(value from E'\\d+')::integer
22 FROM actor.org_unit_ancestor_setting('cat.default_classification_scheme', NEW.owning_lib)
27 EXECUTE 'SELECT ' || acnc.normalizer || '(' ||
28 quote_literal( NEW.label ) || ')'
29 FROM asset.call_number_class acnc
30 WHERE acnc.id = NEW.label_class
32 NEW.label_sortkey = sortkey;
35 $func$ LANGUAGE PLPGSQL;