LP#1549505: Only use appropriate filtering temp tables for uri-ish and global populations
authorMike Rylander <mrylander@gmail.com>
Wed, 23 Mar 2016 22:37:12 +0000 (18:37 -0400)
committerMike Rylander <mrylander@gmail.com>
Wed, 23 Mar 2016 22:37:12 +0000 (18:37 -0400)
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Open-ILS/src/sql/Pg/upgrade/XXXX.schema.statisitcal-ratings.sql

index ff24030..e690b8e 100644 (file)
@@ -398,7 +398,7 @@ BEGIN
             UNION
         SELECT id FROM precalc_bibs_by_uri_list;
 
-    SELECT count(*) INTO cnt FROM precalc_bibs_by_copy_uri_list;
+    SELECT count(*) INTO cnt FROM precalc_bibs_by_copy_or_uri_list;
     RETURN cnt;
 END;
 $f$ LANGUAGE PLPGSQL;
@@ -953,7 +953,7 @@ CREATE OR REPLACE FUNCTION rating.generic_fixed_rating_by_uri(badge_id INT)
 BEGIN
     PERFORM rating.precalc_bibs_by_uri(badge_id);
     RETURN QUERY
-        SELECT id, 1.0 FROM precalc_filter_bib_list
+        SELECT id, 1.0 FROM precalc_bib_filter_bib_list
             INTERSECT
         SELECT id, 1.0 FROM precalc_bibs_by_uri_list;
 END;
@@ -964,18 +964,21 @@ CREATE OR REPLACE FUNCTION rating.generic_fixed_rating_by_copy_or_uri(badge_id I
 BEGIN
     PERFORM rating.precalc_bibs_by_copy_or_uri(badge_id);
     RETURN QUERY
-        SELECT id, 1.0 FROM precalc_filter_bib_list
+        (SELECT id, 1.0 FROM precalc_filter_bib_list
             INTERSECT
-        SELECT id, 1.0 FROM precalc_bibs_by_copy_or_uri_list;
+        SELECT id, 1.0 FROM precalc_bibs_by_copy_list)
+            UNION
+        (SELECT id, 1.0 FROM precalc_bib_filter_bib_list
+            INTERSECT
+        SELECT id, 1.0 FROM precalc_bibs_by_uri_list);
 END;
 $f$ LANGUAGE PLPGSQL STRICT;
 
 CREATE OR REPLACE FUNCTION rating.generic_fixed_rating_global(badge_id INT)
     RETURNS TABLE (record BIGINT, value NUMERIC) AS $f$
 BEGIN
-    PERFORM rating.precalc_bibs_by_copy_or_uri(badge_id);
     RETURN QUERY
-        SELECT id, 1.0 FROM precalc_filter_bib_list;
+        SELECT id, 1.0 FROM precalc_bib_filter_bib_list;
 END;
 $f$ LANGUAGE PLPGSQL STRICT;