]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/sql/Pg/upgrade/0784.schema.axis_authority_tags_refs_aggregate.sql
LP1779158 Angular7 and ng-lint updates
[Evergreen.git] / Open-ILS / src / sql / Pg / upgrade / 0784.schema.axis_authority_tags_refs_aggregate.sql
1 -- Evergreen DB patch XXXX.function.axis_authority_tags_refs_aggregate.sql
2 --
3 BEGIN;
4
5 -- check whether patch can be applied
6 SELECT evergreen.upgrade_deps_block_check('0784', :eg_version);
7
8 CREATE OR REPLACE FUNCTION authority.axis_authority_tags_refs(a TEXT) RETURNS INT[] AS $$
9     SELECT ARRAY_AGG(y) from (
10        SELECT  unnest(ARRAY_CAT(
11                  ARRAY[a.field],
12                  (SELECT ARRAY_ACCUM(x.id) FROM authority.control_set_authority_field x WHERE x.main_entry = a.field)
13              )) y
14        FROM  authority.browse_axis_authority_field_map a
15        WHERE axis = $1) x;
16 $$ LANGUAGE SQL;
17
18 CREATE OR REPLACE FUNCTION authority.btag_authority_tags_refs(btag TEXT) RETURNS INT[] AS $$
19     SELECT ARRAY_AGG(y) from (
20         SELECT  unnest(ARRAY_CAT(
21                     ARRAY[a.authority_field],
22                     (SELECT ARRAY_ACCUM(x.id) FROM authority.control_set_authority_field x WHERE x.main_entry = a.authority_field)
23                 )) y
24       FROM  authority.control_set_bib_field a
25       WHERE a.tag = $1) x
26 $$ LANGUAGE SQL;
27
28 CREATE OR REPLACE FUNCTION authority.atag_authority_tags_refs(atag TEXT) RETURNS INT[] AS $$
29     SELECT ARRAY_AGG(y) from (
30         SELECT  unnest(ARRAY_CAT(
31                     ARRAY[a.id],
32                     (SELECT ARRAY_ACCUM(x.id) FROM authority.control_set_authority_field x WHERE x.main_entry = a.id)
33                 )) y
34       FROM  authority.control_set_authority_field a
35       WHERE a.tag = $1) x
36 $$ LANGUAGE SQL;
37
38
39 COMMIT;