1 -- Evergreen DB patch 0571.schema.facet_normalizer.sql
3 -- Alternate implementation of a regression fix for facet normalization
8 -- check whether patch can be applied
9 SELECT evergreen.upgrade_deps_block_check('0571', :eg_version);
11 -- FIXME: add/check SQL statements to perform the upgrade
12 CREATE OR REPLACE FUNCTION metabib.facet_normalize_trigger () RETURNS TRIGGER AS $$
17 facet_text := NEW.value;
20 SELECT n.func AS func,
21 n.param_count AS param_count,
23 FROM config.index_normalizer n
24 JOIN config.metabib_field_index_norm_map m ON (m.norm = n.id)
25 WHERE m.field = NEW.field AND m.pos < 0
28 EXECUTE 'SELECT ' || normalizer.func || '(' ||
29 quote_literal( facet_text ) ||
31 WHEN normalizer.param_count > 0
32 THEN ',' || REPLACE(REPLACE(BTRIM(normalizer.params,'[]'),E'\'',E'\\\''),E'"',E'\'')
39 NEW.value = facet_text;
45 CREATE TRIGGER facet_normalize_tgr
46 BEFORE UPDATE OR INSERT ON metabib.facet_entry
47 FOR EACH ROW EXECUTE PROCEDURE metabib.facet_normalize_trigger();