LP 1505286: Port New Functions to PostgreSQL 9.1
authorJason Stephenson <jstephenson@mvlc.org>
Wed, 2 Mar 2016 14:18:12 +0000 (09:18 -0500)
committerGalen Charlton <gmc@esilibrary.com>
Thu, 3 Mar 2016 13:54:37 +0000 (08:54 -0500)
The functions search.facets_for_record_set and
search.facets_for_metarecord_set that were added in the 0958 upgrade
script from Launchpad Bug #1505286 are not compatible with PostgreSQL
9.1.  This commit makes them compatible with Pg 9.1 for those who need
it.

Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Open-ILS/src/sql/Pg/300.schema.staged_search.sql
Open-ILS/src/sql/Pg/upgrade/0958.schema.limit_facets.sql

index e3f96c0..d5a5f0b 100644 (file)
@@ -440,9 +440,9 @@ CREATE OR REPLACE FUNCTION search.facets_for_record_set(ignore_facet_classes TEX
         FROM metabib.facet_entry mfae
         JOIN metabib.metarecord_source_map mmrsm ON (mfae.source = mmrsm.source)
         JOIN config.metabib_field cmf ON (cmf.id = mfae.field)
-        WHERE mmrsm.source IN (SELECT * FROM unnest(hits))
+        WHERE mmrsm.source IN (SELECT * FROM unnest($2))
         AND cmf.facet_field
-        AND cmf.field_class NOT IN (SELECT * FROM unnest(ignore_facet_classes))
+        AND cmf.field_class NOT IN (SELECT * FROM unnest($1))
         GROUP by 1, 2
     ) all_facets
     WHERE rownum <= (SELECT COALESCE((SELECT value::INT FROM config.global_flag WHERE name = 'search.max_facets_per_field' AND enabled), 1000));
@@ -459,9 +459,9 @@ CREATE OR REPLACE FUNCTION search.facets_for_metarecord_set(ignore_facet_classes
         FROM metabib.facet_entry mfae
         JOIN metabib.metarecord_source_map mmrsm ON (mfae.source = mmrsm.source)
         JOIN config.metabib_field cmf ON (cmf.id = mfae.field)
-        WHERE mmrsm.metarecord IN (SELECT * FROM unnest(hits))
+        WHERE mmrsm.metarecord IN (SELECT * FROM unnest($2))
         AND cmf.facet_field
-        AND cmf.field_class NOT IN (SELECT * FROM unnest(ignore_facet_classes))
+        AND cmf.field_class NOT IN (SELECT * FROM unnest($1))
         GROUP by 1, 2
     ) all_facets
     WHERE rownum <= (SELECT COALESCE((SELECT value::INT FROM config.global_flag WHERE name = 'search.max_facets_per_field' AND enabled), 1000));
index a68b448..73d0a29 100644 (file)
@@ -13,9 +13,9 @@ CREATE OR REPLACE FUNCTION search.facets_for_record_set(ignore_facet_classes TEX
         FROM metabib.facet_entry mfae
         JOIN metabib.metarecord_source_map mmrsm ON (mfae.source = mmrsm.source)
         JOIN config.metabib_field cmf ON (cmf.id = mfae.field)
-        WHERE mmrsm.source IN (SELECT * FROM unnest(hits))
+        WHERE mmrsm.source IN (SELECT * FROM unnest($2))
         AND cmf.facet_field
-        AND cmf.field_class NOT IN (SELECT * FROM unnest(ignore_facet_classes))
+        AND cmf.field_class NOT IN (SELECT * FROM unnest($1))
         GROUP by 1, 2
     ) all_facets
     WHERE rownum <= (SELECT COALESCE((SELECT value::INT FROM config.global_flag WHERE name = 'search.max_facets_per_field' AND enabled), 1000));
@@ -32,9 +32,9 @@ CREATE OR REPLACE FUNCTION search.facets_for_metarecord_set(ignore_facet_classes
         FROM metabib.facet_entry mfae
         JOIN metabib.metarecord_source_map mmrsm ON (mfae.source = mmrsm.source)
         JOIN config.metabib_field cmf ON (cmf.id = mfae.field)
-        WHERE mmrsm.metarecord IN (SELECT * FROM unnest(hits))
+        WHERE mmrsm.metarecord IN (SELECT * FROM unnest($2))
         AND cmf.facet_field
-        AND cmf.field_class NOT IN (SELECT * FROM unnest(ignore_facet_classes))
+        AND cmf.field_class NOT IN (SELECT * FROM unnest($1))
         GROUP by 1, 2
     ) all_facets
     WHERE rownum <= (SELECT COALESCE((SELECT value::INT FROM config.global_flag WHERE name = 'search.max_facets_per_field' AND enabled), 1000));