]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/sql/Pg/version-upgrade/3.3.0-3.3.1-upgrade-db.sql
LP#1772028 Add some FK violation functions just in case they are missing
[Evergreen.git] / Open-ILS / src / sql / Pg / version-upgrade / 3.3.0-3.3.1-upgrade-db.sql
1 --Upgrade Script for 3.3.0 to 3.3.1
2 \set eg_version '''3.3.1'''
3 BEGIN;
4 INSERT INTO config.upgrade_log (version, applied_to) VALUES ('3.3.1', :eg_version);
5
6 SELECT evergreen.upgrade_deps_block_check('1160', :eg_version);
7
8 INSERT INTO config.workstation_setting_type (name, grp, datatype, label)
9 VALUES (
10     'catalog.record.holds.prefetch', 'cat', 'bool',
11     oils_i18n_gettext(
12         'catalog.record.holds.prefetch',
13         'Pre-Fetch Record Holds',
14         'cwst', 'label'
15     )
16 );
17
18 SELECT evergreen.upgrade_deps_block_check('1162', :eg_version);
19
20 INSERT INTO config.workstation_setting_type (name, grp, datatype, label)
21 VALUES (
22     'eg.print.config.default', 'gui', 'object',
23     oils_i18n_gettext (
24         'eg.print.config.default',
25         'Print config for default context',
26         'cwst', 'label'
27     )
28 ), (
29     'eg.print.config.receipt', 'gui', 'object',
30     oils_i18n_gettext (
31         'eg.print.config.receipt',
32         'Print config for receipt context',
33         'cwst', 'label'
34     )
35 ), (
36     'eg.print.config.label', 'gui', 'object',
37     oils_i18n_gettext (
38         'eg.print.config.label',
39         'Print config for label context',
40         'cwst', 'label'
41     )
42 ), (
43     'eg.print.config.mail', 'gui', 'object',
44     oils_i18n_gettext (
45         'eg.print.config.mail',
46         'Print config for mail context',
47         'cwst', 'label'
48     )
49 ), (
50     'eg.print.config.offline', 'gui', 'object',
51     oils_i18n_gettext (
52         'eg.print.config.offline',
53         'Print config for offline context',
54         'cwst', 'label'
55     )
56 );
57
58
59 SELECT evergreen.upgrade_deps_block_check('1163', :eg_version); -- JBoyer/Dyrcona/bshum/JBoyer
60
61 CREATE OR REPLACE FUNCTION vandelay.flatten_marc_hstore(
62     record_xml TEXT
63 ) RETURNS HSTORE AS $func$
64 BEGIN
65     RETURN (SELECT
66         HSTORE(
67             ARRAY_AGG(tag || (COALESCE(subfield, ''))),
68             ARRAY_AGG(value)
69         )
70         FROM (
71             SELECT  tag, subfield, ARRAY_AGG(value)::TEXT AS value
72               FROM  (SELECT tag,
73                             subfield,
74                             CASE WHEN tag = '020' THEN -- caseless -- isbn
75                                 LOWER((SELECT REGEXP_MATCHES(value,$$^(\S{10,17})$$))[1] || '%')
76                             WHEN tag = '022' THEN -- caseless -- issn
77                                 LOWER((SELECT REGEXP_MATCHES(value,$$^(\S{4}[- ]?\S{4})$$))[1] || '%')
78                             WHEN tag = '024' THEN -- caseless -- upc (other)
79                                 LOWER(value || '%')
80                             ELSE
81                                 value
82                             END AS value
83                       FROM  vandelay.flatten_marc(record_xml)) x
84                 GROUP BY tag, subfield ORDER BY tag, subfield
85         ) subquery
86     );
87 END;
88 $func$ LANGUAGE PLPGSQL;
89
90 COMMIT;
91
92 -- No transaction needed. This can be run on a live, production server.
93 SELECT evergreen.upgrade_deps_block_check('1161', :eg_version); -- jboyer/stompro/gmcharlt
94
95 CREATE INDEX CONCURRENTLY atev_template_output ON action_trigger.event (template_output);
96 CREATE INDEX CONCURRENTLY atev_async_output ON action_trigger.event (async_output);
97 CREATE INDEX CONCURRENTLY atev_error_output ON action_trigger.event (error_output);