LP932540: Fix ISSN indexing
[working/Evergreen.git] / Open-ILS / src / sql / Pg / upgrade / XXXX.schema.do_not_despace_issns.sql
1 -- Delete the index normalizer that was meant to remove spaces from ISSNs
2 -- but ended up breaking records with multiple ISSNs
3 DELETE FROM config.metabib_field_index_norm_map WHERE id IN (
4     SELECT map.id FROM config.metabib_field_index_norm_map map
5         INNER JOIN config.metabib_field cmf ON cmf.id = map.field
6         INNER JOIN config.index_normalizer cin ON cin.id = map.norm
7     WHERE cin.func = 'replace'
8         AND cmf.field_class = 'identifier'
9         AND cmf.name = 'issn'
10         AND map.params = $$[" ",""]$$
11 );
12
13 -- Reindex records that have more than just a single ISSN
14 -- to ensure that spaces are maintained
15 SELECT metabib.reingest_metabib_field_entries(source)
16   FROM metabib.identifier_field_entry mife
17     INNER JOIN config.metabib_field cmf ON cmf.id = mife.field
18   WHERE cmf.field_class = 'identifier'
19     AND cmf.name = 'issn'
20     AND char_length(value) > 9
21 ;