egdb3_13_6
.rating
Tables
(current)
Columns
Constraints
Relationships
Orphan Tables
Anomalies
Routines
current_hold_count(badge_id integer)
Parameters
Name
Type
Mode
badge_id
integer
IN
record
bigint
TABLE
value
numeric
TABLE
Definition
DECLARE badge rating.badge_with_orgs%ROWTYPE; BEGIN SELECT * INTO badge FROM rating.badge_with_orgs WHERE id = badge_id; PERFORM rating.precalc_bibs_by_copy(badge_id); DELETE FROM precalc_copy_filter_bib_list WHERE id NOT IN ( SELECT id FROM precalc_filter_bib_list INTERSECT SELECT id FROM precalc_bibs_by_copy_list ); ANALYZE precalc_copy_filter_bib_list; RETURN QUERY SELECT rhrr.bib_record AS bib, COUNT(DISTINCT h.id)::NUMERIC AS holds FROM action.hold_request h JOIN reporter.hold_request_record rhrr ON (rhrr.id = h.id) JOIN action.hold_copy_map m ON (m.hold = h.id) JOIN precalc_copy_filter_bib_list cf ON (rhrr.bib_record = cf.id AND m.target_copy = cf.copy) WHERE h.fulfillment_time IS NULL AND h.request_lib = ANY (badge.orgs) GROUP BY 1; END;