]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/sql/Pg/upgrade/YYYY.schema.batch_settings_by_org.sql
LP#1596595 Targeter leverages batch AOUS lookups
[Evergreen.git] / Open-ILS / src / sql / Pg / upgrade / YYYY.schema.batch_settings_by_org.sql
1 BEGIN;
2
3 CREATE OR REPLACE FUNCTION actor.org_unit_ancestor_setting_batch_by_org(
4     setting_name TEXT, org_ids INTEGER[]) 
5     RETURNS SETOF actor.org_unit_setting AS 
6 $FUNK$
7 DECLARE
8     setting RECORD;
9     org_id INTEGER;
10 BEGIN
11     /*  Returns one actor.org_unit_setting row per org unit ID provided.
12         When no setting exists for a given org unit, the setting row
13         will contain all empty values. */
14     FOREACH org_id IN ARRAY org_ids LOOP
15         SELECT INTO setting * FROM 
16             actor.org_unit_ancestor_setting(setting_name, org_id);
17         RETURN NEXT setting;
18     END LOOP;
19     RETURN;
20 END;
21 $FUNK$ LANGUAGE plpgsql STABLE;
22
23 COMMIT;
24