From: Dan Scott Date: Wed, 17 Dec 2014 04:15:37 +0000 (-0500) Subject: Update the Conifer 2.4-2.7 upgrade script X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=536978291155df110893e8ef089b3a1f354e9625;p=contrib%2FConifer.git Update the Conifer 2.4-2.7 upgrade script Signed-off-by: Dan Scott --- diff --git a/Open-ILS/src/sql/Pg/upgrade/conifer_2_4-to_2_7.sql b/Open-ILS/src/sql/Pg/upgrade/conifer_2_4-to_2_7.sql index 6683cdf6e6..7ad3275927 100644 --- a/Open-ILS/src/sql/Pg/upgrade/conifer_2_4-to_2_7.sql +++ b/Open-ILS/src/sql/Pg/upgrade/conifer_2_4-to_2_7.sql @@ -9857,6 +9857,8 @@ CREATE OR REPLACE FUNCTION asset.label_normalizer_dewey(TEXT) RETURNS TEXT AS $f $func$ LANGUAGE PLPERLU; +ALTER FUNCTION asset.label_normalizer_dewey(TEXT) IMMUTABLE; + -- Remove [ and ] characters from seriestitle. -- Those characters don't play well when searching. @@ -20469,8 +20471,11 @@ CREATE VIEW metabib.record_attr_flat AS FROM metabib.full_attr_id_map m JOIN metabib.record_attr_vector_list v ON ( m.id = ANY( v.vlist ) ); -CREATE VIEW metabib.record_attr AS - SELECT id, HSTORE( ARRAY_AGG( attr ), ARRAY_AGG( value ) ) AS attrs FROM metabib.record_attr_flat GROUP BY 1; +CREATE OR REPLACE VIEW metabib.record_attr AS + SELECT id, HSTORE( ARRAY_AGG( attr ), ARRAY_AGG( value ) ) AS attrs + FROM metabib.record_attr_flat + WHERE attr IS NOT NULL + GROUP BY 1; CREATE VIEW metabib.rec_descriptor AS SELECT id, @@ -25863,6 +25868,111 @@ BEGIN END; $BODY$ LANGUAGE plpgsql; + +SELECT evergreen.upgrade_deps_block_check('0898', :eg_version); + +CREATE OR REPLACE FUNCTION unapi.mmr_mra ( + obj_id BIGINT, + format TEXT, + ename TEXT, + includes TEXT[], + org TEXT, + depth INT DEFAULT NULL, + slimit HSTORE DEFAULT NULL, + soffset HSTORE DEFAULT NULL, + include_xmlns BOOL DEFAULT TRUE, + pref_lib INT DEFAULT NULL +) RETURNS XML AS $F$ + SELECT XMLELEMENT( + name attributes, + XMLATTRIBUTES( + CASE WHEN $9 THEN 'http://open-ils.org/spec/indexing/v1' ELSE NULL END AS xmlns, + 'tag:open-ils.org:U2@mmr/' || $1 AS metarecord + ), + (SELECT XMLAGG(foo.y) + FROM ( + WITH sourcelist AS ( + WITH aou AS (SELECT COALESCE(id, (evergreen.org_top()).id) AS id + FROM actor.org_unit WHERE shortname = $5 LIMIT 1) + SELECT source + FROM metabib.metarecord_source_map, aou + WHERE metarecord = $1 AND ( + EXISTS ( + SELECT 1 FROM asset.opac_visible_copies + WHERE record = source AND circ_lib IN ( + SELECT id FROM actor.org_unit_descendants(aou.id, $6)) + LIMIT 1 + ) + OR EXISTS (SELECT 1 FROM located_uris(source, aou.id, $10) LIMIT 1) + ) + ) + SELECT cmra.aid, + XMLELEMENT( + name field, + XMLATTRIBUTES( + cmra.attr AS name, + cmra.value AS "coded-value", + cmra.aid AS "cvmid", + rad.composite, + rad.multi, + rad.filter, + rad.sorter + ), + cmra.value + ) + FROM ( + SELECT DISTINCT aid, attr, value + FROM ( + SELECT v.source AS id, + c.id AS aid, + c.ctype AS attr, + c.code AS value + FROM metabib.record_attr_vector_list v + JOIN config.coded_value_map c ON ( c.id = ANY( v.vlist ) ) + ) AS x + JOIN sourcelist ON (x.id = sourcelist.source) + ) AS cmra + JOIN config.record_attr_definition rad ON (cmra.attr = rad.name) + UNION ALL + SELECT umra.aid, + XMLELEMENT( + name field, + XMLATTRIBUTES( + umra.attr AS name, + rad.composite, + rad.multi, + rad.filter, + rad.sorter + ), + umra.value + ) + FROM ( + SELECT DISTINCT aid, attr, value + FROM ( + SELECT v.source AS id, + m.id AS aid, + m.attr AS attr, + m.value AS value + FROM metabib.record_attr_vector_list v + JOIN metabib.uncontrolled_record_attr_value m ON ( m.id = ANY( v.vlist ) ) + ) AS x + JOIN sourcelist ON (x.id = sourcelist.source) + ) AS umra + JOIN config.record_attr_definition rad ON (umra.attr = rad.name) + ORDER BY 1 + + )foo(id,y) + ) + ) +$F$ LANGUAGE SQL STABLE; + +SELECT evergreen.upgrade_deps_block_check('0899', :eg_version); + +ALTER FUNCTION asset.label_normalizer_generic(TEXT) IMMUTABLE; +ALTER FUNCTION asset.label_normalizer_lc(TEXT) IMMUTABLE; + +SELECT evergreen.upgrade_deps_block_check('0900', :eg_version); + COMMIT; \qecho **** If upgrading from Evergreen 2.3 or before, now is the time to run