remove old, dupe unapi-mmr upgrade to avoid confusion
authorBill Erickson <berick@esilibrary.com>
Fri, 31 Jan 2014 20:25:56 +0000 (15:25 -0500)
committerBill Erickson <berick@esilibrary.com>
Fri, 31 Jan 2014 20:25:56 +0000 (15:25 -0500)
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Open-ILS/src/sql/Pg/upgrade/XXXX.schema.unapi-mmr.sql [deleted file]

diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.unapi-mmr.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.unapi-mmr.sql
deleted file mode 100644 (file)
index 7344f72..0000000
+++ /dev/null
@@ -1,186 +0,0 @@
-BEGIN;
-
-/*
-using unapi.bre_output_layout for now.  
-Do we need separate output config for mmr?
-*/
-
-CREATE OR REPLACE FUNCTION unapi.mmr (
-    mmr_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$
-DECLARE
-    mmrec   metabib.metarecord%ROWTYPE;
-    leadrec biblio.record_entry%ROWTYPE;
-    subrec biblio.record_entry%ROWTYPE;
-    layout  unapi.bre_output_layout%ROWTYPE;
-    xfrm    config.xml_transform%ROWTYPE;
-    ouid    INT;
-    xml_buf TEXT; -- growing XML document
-    tmp_xml TEXT; -- single-use XML string
-    xml_frag TEXT; -- single-use XML fragment
-    top_el  TEXT;
-    output  XML;
-    hxml    XML;
-    axml    XML;
-    subxml  XML; -- subordinate records elements
-    sub_xpath TEXT; 
-BEGIN
-
-    -- xpath for extracting bre.marc values from subordinate records 
-    -- so they may be appended to the MARC of the master record prior
-    -- to XSLT processing.
-    -- subjects, isbn, issn, upc -- anything else?
-    sub_xpath := 
-      '//*[starts-with(@tag, "6") or @tag="020" or @tag="022" or @tag="024"]';
-
-    IF org = '-' OR org IS NULL THEN
-        SELECT shortname INTO org FROM evergreen.org_top();
-    END IF;
-
-    SELECT id INTO ouid FROM actor.org_unit WHERE shortname = org;
-
-    IF ouid IS NULL THEN
-        RETURN NULL::XML;
-    END IF;
-
-    SELECT INTO mmrec * FROM metabib.metarecord WHERE id = mmr_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.holdings_xml(
-            mmr_id, ouid, org, depth, includes, slimit, soffset, include_xmlns);
-        RETURN output;
-    END IF;
-    */
-
-    SELECT * INTO layout FROM unapi.bre_output_layout WHERE name = format;
-
-    IF layout.name IS NULL THEN
-        RETURN NULL::XML;
-    END IF;
-
-    SELECT * INTO xfrm FROM config.xml_transform WHERE name = layout.transform;
-
-    SELECT INTO leadrec * FROM biblio.record_entry WHERE id = mmrec.master_record;
-
-    -- Grab bulk SVF for the lead record if requested
-    -- TODO: additional SVF values from constituent records for formats, etc.
-    IF ('mra' = ANY (includes)) THEN 
-        axml := unapi.mra(leadrec.id,NULL,NULL,NULL,NULL);
-    ELSE
-        axml := NULL::XML;
-    END IF;
-
-    xml_buf = leadrec.marc;
-
-    hxml := NULL::XML;
-    subxml := NULL::XML;
-    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
-         ORDER BY CASE WHEN bre.id = mmr.master_record THEN 0 ELSE bre.id END
-         LIMIT COALESCE((slimit->'bre')::INT, 5) LOOP
-
-        -- collect holdings for all added records
-        IF ('holdings_xml' = ANY (includes)) THEN
-            hxml := XMLCONCAT(hxml, unapi.holdings_xml(
-                subrec.id, ouid, org, depth, 
-                evergreen.array_remove_item_by_value(includes,'holdings_xml'),
-                slimit, soffset, include_xmlns, pref_lib));
-        END IF;
-
-        IF subrec.id = leadrec.id THEN CONTINUE; END IF;
-        -- Append choice data from the the non-lead records to the 
-        -- the lead record document
-
-        FOREACH xml_frag IN ARRAY 
-            (SELECT * FROM xpath(sub_xpath, subrec.marc::XML)) LOOP
-            subxml := XMLCONCAT(subxml, xml_frag::XML);
-        END LOOP;
-    END LOOP;
-
-    -- append data from the subordinate records to the 
-    -- main record document before applying the XSLT
-
-    IF subxml IS NOT NULL THEN 
-        xml_buf := REGEXP_REPLACE(xml_buf, 
-            '</record>(.*?)$', subxml || '</record>' || E'\\1');
-    END IF;
-
-    IF format = 'marcxml' THEN
-         -- If we're not using the prefixed namespace in 
-         -- this record, then remove all declarations of it
-        IF xml_buf !~ E'<marc:' THEN
-           xml_buf := REGEXP_REPLACE(xml_buf, 
-            ' xmlns:marc="http://www.loc.gov/MARC21/slim"', '', 'g');
-        END IF; 
-    ELSE
-        xml_buf := oils_xslt_process(xml_buf, xfrm.xslt)::XML;
-    END IF;
-
-    -- update top_el to reflect the change in xml_buf, which may
-    -- now be a different type of document (e.g. record -> mods)
-    top_el := REGEXP_REPLACE(xml_buf, E'^.*?<((?:\\S+:)?' || 
-        layout.holdings_element || ').*$', E'\\1');
-
-    IF axml IS NOT NULL THEN 
-        xml_buf := REGEXP_REPLACE(xml_buf, 
-            '</' || top_el || '>(.*?)$', axml || '</' || top_el || E'>\\1');
-    END IF;
-
-    IF hxml IS NOT NULL THEN
-        xml_buf := REGEXP_REPLACE(xml_buf, 
-            '</' || top_el || '>(.*?)$', hxml || '</' || top_el || E'>\\1');
-    END IF;
-
-    IF ('mmr.unapi' = ANY (includes)) THEN 
-        output := REGEXP_REPLACE(
-            xml_buf,
-            '</' || top_el || '>(.*?)',
-            XMLELEMENT(
-                name abbr,
-                XMLATTRIBUTES(
-                    'http://www.w3.org/1999/xhtml' AS xmlns,
-                    'unapi-id' AS class,
-                    'tag:open-ils.org:U2@mmr/' || mmr_id || '/' || org AS title
-                )
-            )::TEXT || '</' || top_el || E'>\\1'
-        );
-    ELSE
-        output := xml_buf;
-    END IF;
-
-    -- remove ignorable whitesace
-    output := REGEXP_REPLACE(output::TEXT,E'>\\s+<','><','gs')::XML;
-    RETURN output;
-END;
-$F$ LANGUAGE PLPGSQL STABLE;
-
-
--- SEED DATA ---------------------------------------------------------------
-
--- by default, use the same format record attribute as that used for icons
--- TODO: verify attr name still matches
-INSERT INTO config.global_flag (name, label, value, enabled) VALUES (
-    'opac.metarecord.holds.format_attr', 
-    'OPAC Metarecord Hold Formats Attribute', 
-    'local_format', 
-    TRUE
-);
-
-COMMIT;