From 56fb9df55b0ff3a54442120aec0fcf9ba24074a9 Mon Sep 17 00:00:00 2001 From: Thomas Berezansky Date: Sun, 11 Mar 2012 18:00:03 -0400 Subject: [PATCH] Teach Evergreen about Blu-Ray VR Format Also, reingest blu-ray records in an update script to populate it. Signed-off-by: Thomas Berezansky Signed-off-by: Mike Rylander --- Open-ILS/src/sql/Pg/950.data.seed-values.sql | 1 + .../sql/Pg/upgrade/XXXX.bluray_vr_format.sql | 33 +++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.bluray_vr_format.sql diff --git a/Open-ILS/src/sql/Pg/950.data.seed-values.sql b/Open-ILS/src/sql/Pg/950.data.seed-values.sql index bc737d783d..cec8061c80 100644 --- a/Open-ILS/src/sql/Pg/950.data.seed-values.sql +++ b/Open-ILS/src/sql/Pg/950.data.seed-values.sql @@ -5502,6 +5502,7 @@ INSERT INTO config.marc21_physical_characteristic_value_map (value,ptype_subfiel INSERT INTO config.marc21_physical_characteristic_value_map (value,ptype_subfield,label) VALUES ('o',CURRVAL('config.marc21_physical_characteristic_subfield_map_id_seq'),'D-2'); INSERT INTO config.marc21_physical_characteristic_value_map (value,ptype_subfield,label) VALUES ('p',CURRVAL('config.marc21_physical_characteristic_subfield_map_id_seq'),'8 mm.'); INSERT INTO config.marc21_physical_characteristic_value_map (value,ptype_subfield,label) VALUES ('q',CURRVAL('config.marc21_physical_characteristic_subfield_map_id_seq'),'Hi-8 mm.'); +INSERT INTO config.marc21_physical_characteristic_value_map (value,ptype_subfield,label) VALUES ('s',CURRVAL('config.marc21_physical_characteristic_subfield_map_id_seq'),'Blu-ray'); INSERT INTO config.marc21_physical_characteristic_value_map (value,ptype_subfield,label) VALUES ('u',CURRVAL('config.marc21_physical_characteristic_subfield_map_id_seq'),'Unknown'); INSERT INTO config.marc21_physical_characteristic_value_map (value,ptype_subfield,label) VALUES ('v',CURRVAL('config.marc21_physical_characteristic_subfield_map_id_seq'),'DVD'); INSERT INTO config.marc21_physical_characteristic_value_map (value,ptype_subfield,label) VALUES ('z',CURRVAL('config.marc21_physical_characteristic_subfield_map_id_seq'),'Other'); diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.bluray_vr_format.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.bluray_vr_format.sql new file mode 100644 index 0000000000..cfd8c978b9 --- /dev/null +++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.bluray_vr_format.sql @@ -0,0 +1,33 @@ +DO $FUNC$ +DECLARE + same_marc BOOL; +BEGIN + -- Check if it is already there + PERFORM * FROM config.marc21_physical_characteristic_value_map v + JOIN config.marc21_physical_characteristic_subfield_map s ON v.ptype_subfield = s.id + WHERE s.ptype_key = 'v' AND s.subfield = 'e' AND s.start_pos = '4' AND s.length = '1' + AND v.value = 's'; + + -- If it is, bail. + IF FOUND THEN + RETURN; + END IF; + + -- Otherwise, insert it + INSERT INTO config.marc21_physical_characteristic_value_map (value,ptype_subfield,label) + SELECT 's',id,'Blu-ray' + FROM config.marc21_physical_characteristic_subfield_map + WHERE ptype_key = 'v' AND subfield = 'e' AND start_pos = '4' AND length = '1'; + + -- And reingest the blue-ray items so that things see the new value + SELECT INTO same_marc enabled FROM config.internal_flag WHERE name = 'ingest.reingest.force_on_same_marc'; + UPDATE config.internal_flag SET enabled = true WHERE name = 'ingest.reingest.force_on_same_marc'; + UPDATE biblio.record_entry SET marc=marc WHERE id IN (SELECT record + FROM + metabib.full_rec a JOIN metabib.full_rec b USING (record) + WHERE + a.tag = 'LDR' AND a.value LIKE '______g%' + AND b.tag = '007' AND b.value LIKE 'v___s%'); + UPDATE config.internal_flag SET enabled = same_marc WHERE name = 'ingest.reingest.force_on_same_marc'; +END; +$FUNC$; -- 2.43.2