[open-ils-commits] [GIT] Evergreen ILS branch master updated. 22cf746ef809470e630e98b75ac1021c3925e52f

Evergreen Git git at git.evergreen-ils.org
Thu Mar 3 08:59:02 EST 2016


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Evergreen ILS".

The branch, master has been updated
       via  22cf746ef809470e630e98b75ac1021c3925e52f (commit)
       via  ea8b6f60fe20f718d85c4a50ecc8b22bcf7efced (commit)
      from  896461cf333901de1ffe79e57ea07481a8e59bfd (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 22cf746ef809470e630e98b75ac1021c3925e52f
Author: Galen Charlton <gmc at esilibrary.com>
Date:   Thu Mar 3 08:57:27 2016 -0500

    LP#1505286: use older syntax for Pg 9.2+
    
    This makes no function difference, but potentially might
    remove a small speed bump for folks doing detailed schema
    diffs.
    
    Signed-off-by: Galen Charlton <gmc at esilibrary.com>

diff --git a/Open-ILS/src/sql/Pg/002.schema.config.sql b/Open-ILS/src/sql/Pg/002.schema.config.sql
index 96263af..915ffbe 100644
--- a/Open-ILS/src/sql/Pg/002.schema.config.sql
+++ b/Open-ILS/src/sql/Pg/002.schema.config.sql
@@ -91,7 +91,7 @@ CREATE TRIGGER no_overlapping_deps
     BEFORE INSERT OR UPDATE ON config.db_patch_dependencies
     FOR EACH ROW EXECUTE PROCEDURE evergreen.array_overlap_check ('deprecates');
 
-INSERT INTO config.upgrade_log (version, applied_to) VALUES ('0969', :eg_version); -- jeffdavis/stompro
+INSERT INTO config.upgrade_log (version, applied_to) VALUES ('0970', :eg_version); -- Dyrcona/gmcharlt
 
 CREATE TABLE config.bib_source (
 	id		SERIAL	PRIMARY KEY,
diff --git a/Open-ILS/src/sql/Pg/upgrade/0970.schema.limit_facets_pg91_compat.sql b/Open-ILS/src/sql/Pg/upgrade/0970.schema.limit_facets_pg91_compat.sql
new file mode 100644
index 0000000..26dc8b4
--- /dev/null
+++ b/Open-ILS/src/sql/Pg/upgrade/0970.schema.limit_facets_pg91_compat.sql
@@ -0,0 +1,43 @@
+BEGIN;
+
+SELECT evergreen.upgrade_deps_block_check('0970', :eg_version); -- Dyrcona/gmcharlt
+
+CREATE OR REPLACE FUNCTION search.facets_for_record_set(ignore_facet_classes TEXT[], hits BIGINT[]) RETURNS TABLE (id INT, value TEXT, count BIGINT) AS $$
+    SELECT id, value, count FROM (
+        SELECT mfae.field AS id,
+               mfae.value,
+               COUNT(DISTINCT mmrsm.source),
+               row_number() OVER (
+                PARTITION BY mfae.field ORDER BY COUNT(distinct mmrsm.source) DESC
+               ) AS rownum
+        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($2))
+        AND cmf.facet_field
+        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));
+$$ LANGUAGE SQL;
+
+CREATE OR REPLACE FUNCTION search.facets_for_metarecord_set(ignore_facet_classes TEXT[], hits BIGINT[]) RETURNS TABLE (id INT, value TEXT, count BIGINT) AS $$
+    SELECT id, value, count FROM (
+        SELECT mfae.field AS id,
+               mfae.value,
+               COUNT(DISTINCT mmrsm.metarecord),
+               row_number() OVER (
+                PARTITION BY mfae.field ORDER BY COUNT(distinct mmrsm.metarecord) DESC
+               ) AS rownum
+        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($2))
+        AND cmf.facet_field
+        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));
+$$ LANGUAGE SQL;
+
+COMMIT;

commit ea8b6f60fe20f718d85c4a50ecc8b22bcf7efced
Author: Jason Stephenson <jstephenson at mvlc.org>
Date:   Wed Mar 2 09:18:12 2016 -0500

    LP 1505286: Port New Functions to PostgreSQL 9.1
    
    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 at mvlc.org>
    Signed-off-by: Galen Charlton <gmc at esilibrary.com>

diff --git a/Open-ILS/src/sql/Pg/300.schema.staged_search.sql b/Open-ILS/src/sql/Pg/300.schema.staged_search.sql
index e3f96c0..d5a5f0b 100644
--- a/Open-ILS/src/sql/Pg/300.schema.staged_search.sql
+++ b/Open-ILS/src/sql/Pg/300.schema.staged_search.sql
@@ -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));
diff --git a/Open-ILS/src/sql/Pg/upgrade/0958.schema.limit_facets.sql b/Open-ILS/src/sql/Pg/upgrade/0958.schema.limit_facets.sql
index a68b448..73d0a29 100644
--- a/Open-ILS/src/sql/Pg/upgrade/0958.schema.limit_facets.sql
+++ b/Open-ILS/src/sql/Pg/upgrade/0958.schema.limit_facets.sql
@@ -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));

-----------------------------------------------------------------------

Summary of changes:
 Open-ILS/src/sql/Pg/002.schema.config.sql          |    2 +-
 Open-ILS/src/sql/Pg/300.schema.staged_search.sql   |    8 +++---
 .../sql/Pg/upgrade/0958.schema.limit_facets.sql    |    8 +++---
 ...ql => 0970.schema.limit_facets_pg91_compat.sql} |   23 ++++---------------
 4 files changed, 14 insertions(+), 27 deletions(-)
 copy Open-ILS/src/sql/Pg/upgrade/{0958.schema.limit_facets.sql => 0970.schema.limit_facets_pg91_compat.sql} (71%)


hooks/post-receive
-- 
Evergreen ILS


More information about the open-ils-commits mailing list