3 SELECT evergreen.upgrade_deps_block_check('1087', :eg_version);
5 CREATE OR REPLACE FUNCTION asset.patron_default_visibility_mask () RETURNS TABLE (b_attrs TEXT, c_attrs TEXT) AS $f$
7 copy_flags TEXT; -- "c" attr
9 owning_lib TEXT; -- "c" attr
10 circ_lib TEXT; -- "c" attr
11 status TEXT; -- "c" attr
12 location TEXT; -- "c" attr
13 location_group TEXT; -- "c" attr
15 luri_org TEXT; -- "b" attr
16 bib_sources TEXT; -- "b" attr
20 copy_flags := asset.all_visible_flags(); -- Will always have at least one
22 owning_lib := NULLIF(asset.owning_lib_default(),'!()');
24 circ_lib := NULLIF(asset.circ_lib_default(),'!()');
25 status := NULLIF(asset.status_default(),'!()');
26 location := NULLIF(asset.location_default(),'!()');
27 location_group := NULLIF(asset.location_group_default(),'!()');
29 -- LURIs will be handled at the perl layer directly
30 -- luri_org := NULLIF(asset.luri_org_default(),'!()');
31 bib_sources := NULLIF(asset.bib_source_default(),'()');
34 IF luri_org IS NOT NULL AND bib_sources IS NOT NULL THEN
35 bib_tests := '('||ARRAY_TO_STRING( ARRAY[luri_org,bib_sources], '|')||')&('||luri_org||')&';
36 ELSIF luri_org IS NOT NULL THEN
37 bib_tests := luri_org || '&';
38 ELSIF bib_sources IS NOT NULL THEN
39 bib_tests := bib_sources || '|';
42 RETURN QUERY SELECT bib_tests,
44 ARRAY[copy_flags,owning_lib,circ_lib,status,location,location_group]::TEXT[],
48 $f$ LANGUAGE PLPGSQL STABLE ROWS 1;