1 --Upgrade Script for 2.5.3 to 2.5.4
2 \set eg_version '''2.5.4'''
4 INSERT INTO config.upgrade_log (version, applied_to) VALUES ('2.5.4', :eg_version);
6 SELECT evergreen.upgrade_deps_block_check('0869', :eg_version);
8 CREATE OR REPLACE FUNCTION action.hold_copy_calculated_proximity_update () RETURNS TRIGGER AS $f$
10 NEW.proximity := action.hold_copy_calculated_proximity(NEW.hold,NEW.target_copy);
15 CREATE TRIGGER hold_copy_proximity_update_tgr BEFORE INSERT OR UPDATE ON action.hold_copy_map FOR EACH ROW EXECUTE PROCEDURE action.hold_copy_calculated_proximity_update ();
17 -- Now, cause the update we need in a HOT-friendly manner (http://pgsql.tapoueh.org/site/html/misc/hot.html)
18 UPDATE action.hold_copy_map SET proximity = proximity WHERE proximity IS NULL;
22 SELECT evergreen.upgrade_deps_block_check('0877', :eg_version);
24 -- Don't use Series search field as the browse field
25 UPDATE config.metabib_field SET
28 browse_sort_xpath = NULL,
29 xpath = $$//mods32:mods/mods32:relatedItem[@type="series"]/mods32:titleInfo[not(@type="nfi")]$$
32 -- Create a new series browse config
33 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath, search_field, authority_xpath, browse_field, browse_sort_xpath ) VALUES
34 (32, 'series', 'browse', oils_i18n_gettext(32, 'Series Title (Browse)', 'cmf', 'label'), 'mods32', $$//mods32:mods/mods32:relatedItem[@type="series"]/mods32:titleInfo[@type="nfi"]$$, FALSE, '//@xlink:href', TRUE, $$*[local-name() != "nonSort"]$$ );
37 \qecho ---------------------------------------------------------------
38 \qecho We will now do a "quick fix" indexing of series titles for search.
40 \qecho Ultimately, a full field-entry reingest of your affected series bib
41 \qecho records should be done. It might take a while.
42 \qecho Something like this should suffice:
43 \qecho ---------------------------------------------------------------
44 \qecho 'SELECT COUNT(metabib.reingest_metabib_field_entries(id))'
46 \qecho ' SELECT DISTINCT(bre.id) AS id'
47 \qecho ' FROM biblio.record_entry bre'
48 \qecho ' JOIN metabib.full_rec mfr'
49 \qecho ' ON mfr.record = bre.id'
50 \qecho ' AND mfr.tag IN (\'490\', \'800\', \'810\', \'811\', \'830\')'
52 \qecho ' bre.deleted IS FALSE'
54 \qecho ' mfr.tag = \'490\' AND mfr.subfield = \'a\''
55 \qecho ' OR mfr.tag IN (\'800\',\'810\',\'811\') AND mfr.subfield = \'t\''
56 \qecho ' OR mfr.tag = \'830\' AND mfr.subfield IN (\'a\',\'t\')'
60 \qecho ---------------------------------------------------------------
62 -- "Quick Fix" indexing of series for search
63 INSERT INTO metabib.series_field_entry (field,source,value)
64 SELECT 1,record,value FROM metabib.full_rec WHERE tag = '490' AND subfield = 'a';
66 INSERT INTO metabib.series_field_entry (field,source,value)
67 SELECT 1,record,value FROM metabib.full_rec WHERE tag IN ('800','810','811') AND subfield = 't';
69 INSERT INTO metabib.series_field_entry (field,source,value)
70 SELECT 1,record,value FROM metabib.full_rec WHERE tag = '830' AND subfield IN ('a','t');
72 DELETE FROM metabib.combined_series_field_entry;
73 INSERT INTO metabib.combined_series_field_entry(record, metabib_field, index_vector)
74 SELECT source, field, strip(COALESCE(string_agg(index_vector::TEXT,' '),'')::tsvector)
75 FROM metabib.series_field_entry GROUP BY source, field;
76 INSERT INTO metabib.combined_series_field_entry(record, index_vector)
77 SELECT source, strip(COALESCE(string_agg(index_vector::TEXT,' '),'')::tsvector)
78 FROM metabib.series_field_entry GROUP BY source;