From: Mike Rylander <mrylander@gmail.com> Date: Sat, 13 Aug 2011 01:07:41 +0000 (-0400) Subject: Stamped upgrade script for "lp 823496: do not fail to index personal names that have... X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=ff7c382023385d80dc476f9e94d50bbf88763b2a;p=evergreen%2Fmasslnc.git Stamped upgrade script for "lp 823496: do not fail to index personal names that have relators" 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 07a62ceedf..896eb6bed2 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 ('0598', :eg_version); -- berick/senator +INSERT INTO config.upgrade_log (version, applied_to) VALUES ('0599', :eg_version); -- miker/gmc CREATE TABLE config.bib_source ( id SERIAL PRIMARY KEY, diff --git a/Open-ILS/src/sql/Pg/upgrade/0599.data.fix_author_other_index.sql b/Open-ILS/src/sql/Pg/upgrade/0599.data.fix_author_other_index.sql new file mode 100644 index 0000000000..745ac4875a --- /dev/null +++ b/Open-ILS/src/sql/Pg/upgrade/0599.data.fix_author_other_index.sql @@ -0,0 +1,28 @@ +-- Evergreen DB patch XXXX.fix_author_other_index.sql +-- +-- Fix author|other index so that it doesn't exclude 700 +-- fields that contain relator values in the $e or $4. +-- +BEGIN; + +-- check whether patch can be applied +SELECT evergreen.upgrade_deps_block_check('0599', :eg_version); + +UPDATE config.metabib_field +SET xpath = $$//mods32:mods/mods32:name[@type='personal' and not(mods32:role/mods32:roleTerm[text()='creator'])]$$ +WHERE field_class = 'author' +AND name = 'other' +AND xpath = $$//mods32:mods/mods32:name[@type='personal' and not(mods32:role)]$$ +AND format = 'mods32'; + +-- To reindex the affected bibs, you can run something like this: +-- +-- SELECT metabib.reingest_metabib_field_entries(record) +-- FROM ( +-- SELECT DISTINCT record +-- FROM metabib.real_full_rec +-- WHERE tag IN ('600', '700', '720', '800') +-- AND subfield IN ('4', 'e') +-- ) a; + +COMMIT; diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.fix_author_other_index.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.fix_author_other_index.sql deleted file mode 100644 index 41d65f8dd7..0000000000 --- a/Open-ILS/src/sql/Pg/upgrade/XXXX.fix_author_other_index.sql +++ /dev/null @@ -1,28 +0,0 @@ --- Evergreen DB patch XXXX.fix_author_other_index.sql --- --- Fix author|other index so that it doesn't exclude 700 --- fields that contain relator values in the $e or $4. --- -BEGIN; - --- check whether patch can be applied -SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version); - -UPDATE config.metabib_field -SET xpath = $$//mods32:mods/mods32:name[@type='personal' and not(mods32:role/mods32:roleTerm[text()='creator'])]$$ -WHERE field_class = 'author' -AND name = 'other' -AND xpath = $$//mods32:mods/mods32:name[@type='personal' and not(mods32:role)]$$ -AND format = 'mods32'; - --- To reindex the affected bibs, you can run something like this: --- --- SELECT metabib.reingest_metabib_field_entries(record) --- FROM ( --- SELECT DISTINCT record --- FROM metabib.real_full_rec --- WHERE tag IN ('600', '700', '720', '800') --- AND subfield IN ('4', 'e') --- ) a; - -COMMIT;