$F$ LANGUAGE SQL STABLE;
CREATE OR REPLACE FUNCTION unapi.mmr (
- mmr_id BIGINT,
+ obj_id BIGINT,
format TEXT,
ename TEXT,
includes TEXT[],
RETURN NULL::XML;
END IF;
- SELECT INTO mmrec * FROM metabib.metarecord WHERE id = mmr_id;
+ SELECT INTO mmrec * FROM metabib.metarecord WHERE id = obj_id;
IF NOT FOUND THEN
RETURN NULL::XML;
END IF;
-- TODO: aggregate holdings from constituent records
IF format = 'holdings_xml' THEN -- the special case
output := unapi.mmr_holdings_xml(
- mmr_id, ouid, org, depth, includes, slimit, soffset, include_xmlns);
+ obj_id, ouid, org, depth, includes, slimit, soffset, include_xmlns);
RETURN output;
END IF;
-- Grab distinct MVF for all records if requested
IF ('mra' = ANY (includes)) THEN
- axml := unapi.mmr_mra(mmr_id,NULL,NULL,NULL,NULL,NULL,NULL,NULL,TRUE);
+ axml := unapi.mmr_mra(obj_id,NULL,NULL,NULL,NULL,NULL,NULL,NULL,TRUE);
ELSE
axml := NULL::XML;
END IF;
hxml := NULL::XML;
IF ('holdings_xml' = ANY (includes)) THEN
hxml := unapi.holdings_xml(
- mmr_id, ouid, org, depth,
+ obj_id, ouid, org, depth,
evergreen.array_remove_item_by_value(includes,'holdings_xml'),
slimit, soffset, include_xmlns, pref_lib);
END IF;
FOR subrec IN SELECT bre.* FROM biblio.record_entry bre
JOIN metabib.metarecord_source_map mmsm ON (mmsm.source = bre.id)
JOIN metabib.metarecord mmr ON (mmr.id = mmsm.metarecord)
- WHERE mmr.id = mmr_id
+ WHERE mmr.id = obj_id
ORDER BY CASE WHEN bre.id = mmr.master_record THEN 0 ELSE bre.id END
LIMIT COALESCE((slimit->'bre')::INT, 5) LOOP
XMLATTRIBUTES(
'http://www.w3.org/1999/xhtml' AS xmlns,
'unapi-id' AS class,
- 'tag:open-ils.org:U2@mmr/' || mmr_id || '/' || org AS title
+ 'tag:open-ils.org:U2@mmr/' || obj_id || '/' || org AS title
)
)::TEXT || '</' || top_el || E'>\\1'
);
$F$ LANGUAGE SQL STABLE;
CREATE OR REPLACE FUNCTION unapi.mmr (
- mmr_id BIGINT,
+ obj_id BIGINT,
format TEXT,
ename TEXT,
includes TEXT[],
RETURN NULL::XML;
END IF;
- SELECT INTO mmrec * FROM metabib.metarecord WHERE id = mmr_id;
+ SELECT INTO mmrec * FROM metabib.metarecord WHERE id = obj_id;
IF NOT FOUND THEN
RETURN NULL::XML;
END IF;
-- TODO: aggregate holdings from constituent records
IF format = 'holdings_xml' THEN -- the special case
output := unapi.mmr_holdings_xml(
- mmr_id, ouid, org, depth, includes, slimit, soffset, include_xmlns);
+ obj_id, ouid, org, depth, includes, slimit, soffset, include_xmlns);
RETURN output;
END IF;
-- Grab distinct MVF for all records if requested
IF ('mra' = ANY (includes)) THEN
- axml := unapi.mmr_mra(mmr_id,NULL,NULL,NULL,NULL,NULL,NULL,NULL,TRUE);
+ axml := unapi.mmr_mra(obj_id,NULL,NULL,NULL,NULL,NULL,NULL,NULL,TRUE);
ELSE
axml := NULL::XML;
END IF;
hxml := NULL::XML;
IF ('holdings_xml' = ANY (includes)) THEN
hxml := unapi.holdings_xml(
- mmr_id, ouid, org, depth,
+ obj_id, ouid, org, depth,
evergreen.array_remove_item_by_value(includes,'holdings_xml'),
slimit, soffset, include_xmlns, pref_lib);
END IF;
FOR subrec IN SELECT bre.* FROM biblio.record_entry bre
JOIN metabib.metarecord_source_map mmsm ON (mmsm.source = bre.id)
JOIN metabib.metarecord mmr ON (mmr.id = mmsm.metarecord)
- WHERE mmr.id = mmr_id
+ WHERE mmr.id = obj_id
ORDER BY CASE WHEN bre.id = mmr.master_record THEN 0 ELSE bre.id END
LIMIT COALESCE((slimit->'bre')::INT, 5) LOOP
XMLATTRIBUTES(
'http://www.w3.org/1999/xhtml' AS xmlns,
'unapi-id' AS class,
- 'tag:open-ils.org:U2@mmr/' || mmr_id || '/' || org AS title
+ 'tag:open-ils.org:U2@mmr/' || obj_id || '/' || org AS title
)
)::TEXT || '</' || top_el || E'>\\1'
);