egdb3_12_9
.biblio
Tables
(current)
Columns
Constraints
Relationships
Orphan Tables
Anomalies
Routines
calculate_bib_visibility_attribute_set(bib_id bigint, new_source integer DEFAULT NULL::integer, force_source boolean DEFAULT false)
Parameters
Name
Type
Mode
bib_id
bigint
IN
new_source
integer
IN
force_source
boolean
IN
Definition
DECLARE bib_row biblio.record_entry%ROWTYPE; cn_row asset.call_number%ROWTYPE; attr_set INT[] := '{}'::INT[]; BEGIN SELECT * INTO bib_row FROM biblio.record_entry WHERE id = bib_id; IF force_source THEN IF new_source IS NOT NULL THEN attr_set := attr_set || search.calculate_visibility_attribute(new_source, 'bib_source'); END IF; ELSIF bib_row.source IS NOT NULL THEN attr_set := attr_set || search.calculate_visibility_attribute(bib_row.source, 'bib_source'); END IF; FOR cn_row IN SELECT * FROM asset.call_number WHERE record = bib_id AND label = '##URI##' AND NOT deleted LOOP attr_set := attr_set || search.calculate_visibility_attribute(cn_row.owning_lib, 'luri_org'); END LOOP; RETURN attr_set; END;