]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/sql/Pg/upgrade/0685.data.bluray_vr_format.sql
LP#1835085: stamp DB update
[Evergreen.git] / Open-ILS / src / sql / Pg / upgrade / 0685.data.bluray_vr_format.sql
1 -- Evergreen DB patch 0685.data.bluray_vr_format.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('0685', :eg_version);
10
11 -- FIXME: add/check SQL statements to perform the upgrade
12 DO $FUNC$
13 DECLARE
14     same_marc BOOL;
15 BEGIN
16     -- Check if it is already there
17     PERFORM * FROM config.marc21_physical_characteristic_value_map v
18         JOIN config.marc21_physical_characteristic_subfield_map s ON v.ptype_subfield = s.id
19         WHERE s.ptype_key = 'v' AND s.subfield = 'e' AND s.start_pos = '4' AND s.length = '1'
20             AND v.value = 's';
21
22     -- If it is, bail.
23     IF FOUND THEN
24         RETURN;
25     END IF;
26
27     -- Otherwise, insert it
28     INSERT INTO config.marc21_physical_characteristic_value_map (value,ptype_subfield,label)
29     SELECT 's',id,'Blu-ray'
30         FROM config.marc21_physical_characteristic_subfield_map
31         WHERE ptype_key = 'v' AND subfield = 'e' AND start_pos = '4' AND length = '1';
32
33     -- And reingest the blue-ray items so that things see the new value
34     SELECT INTO same_marc enabled FROM config.internal_flag WHERE name = 'ingest.reingest.force_on_same_marc';
35     UPDATE config.internal_flag SET enabled = true WHERE name = 'ingest.reingest.force_on_same_marc';
36     UPDATE biblio.record_entry SET marc=marc WHERE id IN (SELECT record
37         FROM
38             metabib.full_rec a JOIN metabib.full_rec b USING (record)
39         WHERE
40             a.tag = 'LDR' AND a.value LIKE '______g%'
41         AND b.tag = '007' AND b.value LIKE 'v___s%');
42     UPDATE config.internal_flag SET enabled = same_marc WHERE name = 'ingest.reingest.force_on_same_marc';
43 END;
44 $FUNC$;
45
46
47 COMMIT;