Grab uncontrolled attributes as well as controlled for mmr_mra
authorMike Rylander <mrylander@gmail.com>
Thu, 6 Feb 2014 15:40:51 +0000 (10:40 -0500)
committerMike Rylander <mrylander@gmail.com>
Thu, 6 Feb 2014 15:40:51 +0000 (10:40 -0500)
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Open-ILS/src/sql/Pg/990.schema.unapi.sql
Open-ILS/src/sql/Pg/upgrade/ZZZZ.schema.unapi-mmr.sql

index ea5594b..d1b681a 100644 (file)
@@ -1227,8 +1227,8 @@ CREATE OR REPLACE FUNCTION unapi.mmr_mra (
         ),
         (SELECT XMLAGG(foo.y)
           FROM (
-            SELECT  DISTINCT ON (cvm.id)
-                    cvm.id,
+            SELECT  DISTINCT ON (COALESCE(cvm.id,uvm.id))
+                    COALESCE(cvm.id,uvm.id),
                     XMLELEMENT(
                         name field,
                         XMLATTRIBUTES(
@@ -1245,6 +1245,7 @@ CREATE OR REPLACE FUNCTION unapi.mmr_mra (
               FROM  metabib.record_attr_flat mra
                     JOIN config.record_attr_definition rad ON (mra.attr = rad.name)
                     LEFT JOIN config.coded_value_map cvm ON (cvm.ctype = mra.attr AND code = mra.value)
+                    LEFT JOIN metabib.uncontrolled_record_attr_value uvm ON (uvm.attr = mra.attr AND uvm.value = mra.value)
               WHERE mra.id IN (SELECT source FROM metabib.metarecord_source_map WHERE metarecord = $1)
               ORDER BY 1
             )foo(id,y)
index ea1d6a3..7adc24d 100644 (file)
@@ -147,8 +147,8 @@ CREATE OR REPLACE FUNCTION unapi.mmr_mra (
         ),
         (SELECT XMLAGG(foo.y)
           FROM (
-            SELECT  DISTINCT ON (cvm.id)
-                    cvm.id,
+            SELECT  DISTINCT ON (COALESCE(cvm.id,uvm.id))
+                    COALESCE(cvm.id,uvm.id),
                     XMLELEMENT(
                         name field,
                         XMLATTRIBUTES(
@@ -165,6 +165,7 @@ CREATE OR REPLACE FUNCTION unapi.mmr_mra (
               FROM  metabib.record_attr_flat mra
                     JOIN config.record_attr_definition rad ON (mra.attr = rad.name)
                     LEFT JOIN config.coded_value_map cvm ON (cvm.ctype = mra.attr AND code = mra.value)
+                    LEFT JOIN metabib.uncontrolled_record_attr_value uvm ON (uvm.attr = mra.attr AND uvm.value = mra.value)
               WHERE mra.id IN (SELECT source FROM metabib.metarecord_source_map WHERE metarecord = $1)
               ORDER BY 1
             )foo(id,y)