LP#1736419: Bib visibility tests get OR'd
authorMike Rylander <mrylander@gmail.com>
Mon, 8 Jan 2018 21:43:26 +0000 (16:43 -0500)
committerKathy Lussier <klussier@masslnc.org>
Tue, 9 Jan 2018 23:59:24 +0000 (18:59 -0500)
Either the source or the existance of a Located URI will trigger record
visibility, so we will OR them together.

NOTE: This branch is dependant on the branch supplied on LP#1730758. Without
that fix, the bib-level visibility attributes are not updated properly when
Located URIs are added or changed.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Driver/Pg/QueryParser.pm

index e84efa2..9a02d33 100644 (file)
@@ -1054,7 +1054,7 @@ sub toSQL {
 
         # WITH-clause just generates vis test
         $$flat_plan{with} .= "\n," if $$flat_plan{with};
-        $$flat_plan{with} .= "b_attr AS (SELECT (ARRAY_TO_STRING(ARRAY[$vis_test],'&'))::query_int AS vis_test FROM asset.patron_default_visibility_mask() x)";
+        $$flat_plan{with} .= "b_attr AS (SELECT (ARRAY_TO_STRING(ARRAY[$vis_test],'|'))::query_int AS vis_test FROM asset.patron_default_visibility_mask() x)";
 
         # These are magic numbers... see: search.calculate_visibility_attribute() UDF
         $final_b_attr_test = '(b_attr.vis_test IS NULL OR bre.vis_attr_vector @@ b_attr.vis_test)';