Stamping upgrade script for ISSN normalization fix
[working/Evergreen.git] / Open-ILS / src / sql / Pg / upgrade / 0693.schema.do_not_despace_issns.sql
1 -- Evergreen DB patch 0693.schema.do_not_despace_issns.sql
2 --
3 -- FIXME: insert description of change, if needed
4 --
5 BEGIN;
6
7
8 -- check whether patch can be applied
9 SELECT evergreen.upgrade_deps_block_check('0693', :eg_version);
10
11 -- FIXME: add/check SQL statements to perform the upgrade
12 -- Delete the index normalizer that was meant to remove spaces from ISSNs
13 -- but ended up breaking records with multiple ISSNs
14 DELETE FROM config.metabib_field_index_norm_map WHERE id IN (
15     SELECT map.id FROM config.metabib_field_index_norm_map map
16         INNER JOIN config.metabib_field cmf ON cmf.id = map.field
17         INNER JOIN config.index_normalizer cin ON cin.id = map.norm
18     WHERE cin.func = 'replace'
19         AND cmf.field_class = 'identifier'
20         AND cmf.name = 'issn'
21         AND map.params = $$[" ",""]$$
22 );
23
24 -- Reindex records that have more than just a single ISSN
25 -- to ensure that spaces are maintained
26 SELECT metabib.reingest_metabib_field_entries(source)
27   FROM metabib.identifier_field_entry mife
28     INNER JOIN config.metabib_field cmf ON cmf.id = mife.field
29   WHERE cmf.field_class = 'identifier'
30     AND cmf.name = 'issn'
31     AND char_length(value) > 9
32 ;
33
34
35 COMMIT;