From 561d47e5957a169b2f43bdb17b692c49f7e1d323 Mon Sep 17 00:00:00 2001 From: Thomas Berezansky Date: Tue, 10 Dec 2013 12:31:52 -0500 Subject: [PATCH] Upgrade script for search_label usage Signed-off-by: Thomas Berezansky --- Open-ILS/src/sql/Pg/upgrade/XXXX.search_label.sql | 30 +++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.search_label.sql diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.search_label.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.search_label.sql new file mode 100644 index 0000000000..379d2d8941 --- /dev/null +++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.search_label.sql @@ -0,0 +1,30 @@ +CREATE OR REPLACE FUNCTION unapi.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 ) 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@mra/' || mra.id AS id, + 'tag:open-ils.org:U2@bre/' || mra.id AS record + ), + (SELECT XMLAGG(foo.y) + FROM (SELECT XMLELEMENT( + name field, + XMLATTRIBUTES( + key AS name, + cvm.value AS "coded-value", + cvm.search_label AS "search-value", + rad.filter, + rad.sorter + ), + x.value + ) + FROM EACH(mra.attrs) AS x + JOIN config.record_attr_definition rad ON (x.key = rad.name) + LEFT JOIN config.coded_value_map cvm ON (cvm.ctype = x.key AND code = x.value) + )foo(y) + ) + ) + FROM metabib.record_attr mra + WHERE mra.id = $1; +$F$ LANGUAGE SQL STABLE; + -- 2.11.0