From: Mike Rylander <mrylander@gmail.com> Date: Mon, 26 Mar 2012 14:57:52 +0000 (-0400) Subject: Stamping upgrade script for ISSN normalization fix X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=54d4887c7d232ed8af0924d8ed80dd28526ca6fb;p=evergreen%2Fmasslnc.git Stamping upgrade script for ISSN normalization fix Signed-off-by: Mike Rylander <mrylander@gmail.com> --- diff --git a/Open-ILS/src/sql/Pg/002.schema.config.sql b/Open-ILS/src/sql/Pg/002.schema.config.sql index 02d4aa8934..cc06eee875 100644 --- a/Open-ILS/src/sql/Pg/002.schema.config.sql +++ b/Open-ILS/src/sql/Pg/002.schema.config.sql @@ -86,7 +86,7 @@ CREATE TRIGGER no_overlapping_deps BEFORE INSERT OR UPDATE ON config.db_patch_dependencies FOR EACH ROW EXECUTE PROCEDURE evergreen.array_overlap_check ('deprecates'); -INSERT INTO config.upgrade_log (version, applied_to) VALUES ('0692', :eg_version); -- miker/berick +INSERT INTO config.upgrade_log (version, applied_to) VALUES ('0693', :eg_version); -- denials/miker CREATE TABLE config.bib_source ( id SERIAL PRIMARY KEY, diff --git a/Open-ILS/src/sql/Pg/upgrade/0693.schema.do_not_despace_issns.sql b/Open-ILS/src/sql/Pg/upgrade/0693.schema.do_not_despace_issns.sql new file mode 100644 index 0000000000..50ce4b46c3 --- /dev/null +++ b/Open-ILS/src/sql/Pg/upgrade/0693.schema.do_not_despace_issns.sql @@ -0,0 +1,35 @@ +-- Evergreen DB patch 0693.schema.do_not_despace_issns.sql +-- +-- FIXME: insert description of change, if needed +-- +BEGIN; + + +-- check whether patch can be applied +SELECT evergreen.upgrade_deps_block_check('0693', :eg_version); + +-- FIXME: add/check SQL statements to perform the upgrade +-- Delete the index normalizer that was meant to remove spaces from ISSNs +-- but ended up breaking records with multiple ISSNs +DELETE FROM config.metabib_field_index_norm_map WHERE id IN ( + SELECT map.id FROM config.metabib_field_index_norm_map map + INNER JOIN config.metabib_field cmf ON cmf.id = map.field + INNER JOIN config.index_normalizer cin ON cin.id = map.norm + WHERE cin.func = 'replace' + AND cmf.field_class = 'identifier' + AND cmf.name = 'issn' + AND map.params = $$[" ",""]$$ +); + +-- Reindex records that have more than just a single ISSN +-- to ensure that spaces are maintained +SELECT metabib.reingest_metabib_field_entries(source) + FROM metabib.identifier_field_entry mife + INNER JOIN config.metabib_field cmf ON cmf.id = mife.field + WHERE cmf.field_class = 'identifier' + AND cmf.name = 'issn' + AND char_length(value) > 9 +; + + +COMMIT; diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.do_not_despace_issns.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.do_not_despace_issns.sql deleted file mode 100644 index b788a2d488..0000000000 --- a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.do_not_despace_issns.sql +++ /dev/null @@ -1,21 +0,0 @@ --- Delete the index normalizer that was meant to remove spaces from ISSNs --- but ended up breaking records with multiple ISSNs -DELETE FROM config.metabib_field_index_norm_map WHERE id IN ( - SELECT map.id FROM config.metabib_field_index_norm_map map - INNER JOIN config.metabib_field cmf ON cmf.id = map.field - INNER JOIN config.index_normalizer cin ON cin.id = map.norm - WHERE cin.func = 'replace' - AND cmf.field_class = 'identifier' - AND cmf.name = 'issn' - AND map.params = $$[" ",""]$$ -); - --- Reindex records that have more than just a single ISSN --- to ensure that spaces are maintained -SELECT metabib.reingest_metabib_field_entries(source) - FROM metabib.identifier_field_entry mife - INNER JOIN config.metabib_field cmf ON cmf.id = mife.field - WHERE cmf.field_class = 'identifier' - AND cmf.name = 'issn' - AND char_length(value) > 9 -;