4 SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
6 CREATE OR REPLACE FUNCTION unapi.mmr_mra (
12 depth INT DEFAULT NULL,
13 slimit HSTORE DEFAULT NULL,
14 soffset HSTORE DEFAULT NULL,
15 include_xmlns BOOL DEFAULT TRUE,
16 pref_lib INT DEFAULT NULL
21 CASE WHEN $9 THEN 'http://open-ils.org/spec/indexing/v1' ELSE NULL END AS xmlns,
22 'tag:open-ils.org:U2@mmr/' || $1 AS metarecord
27 WITH aou AS (SELECT COALESCE(id, (evergreen.org_top()).id) AS id
28 FROM actor.org_unit WHERE shortname = $5 LIMIT 1)
30 FROM metabib.metarecord_source_map mmsm, aou
31 WHERE metarecord = $1 AND (
33 SELECT 1 FROM asset.opac_visible_copies
34 WHERE record = source AND circ_lib IN (
35 SELECT id FROM actor.org_unit_descendants(aou.id, $6))
38 OR EXISTS (SELECT 1 FROM located_uris(source, aou.id, $10) LIMIT 1)
39 OR EXISTS (SELECT 1 FROM biblio.record_entry b JOIN config.bib_source src ON (b.source = src.id) WHERE src.transcendant AND b.id = mmsm.source LIMIT 1)
47 cmra.value AS "coded-value",
58 SELECT DISTINCT aid, attr, value, STRING_AGG(x.id::TEXT, ',') AS source_list
60 SELECT v.source AS id,
64 FROM metabib.record_attr_vector_list v
65 JOIN config.coded_value_map c ON ( c.id = ANY( v.vlist ) )
67 JOIN sourcelist ON (x.id = sourcelist.source)
70 JOIN config.record_attr_definition rad ON (cmra.attr = rad.name)
85 SELECT DISTINCT aid, attr, value
87 SELECT v.source AS id,
91 FROM metabib.record_attr_vector_list v
92 JOIN metabib.uncontrolled_record_attr_value m ON ( m.id = ANY( v.vlist ) )
94 JOIN sourcelist ON (x.id = sourcelist.source)
96 JOIN config.record_attr_definition rad ON (umra.attr = rad.name)
102 $F$ LANGUAGE SQL STABLE;