]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/sql/Pg/upgrade/XXXX.schema.mark_perm_grp_descendants_stable.sql
LP#1768141 - Mark permission.grp_descendants STABLE.
[Evergreen.git] / Open-ILS / src / sql / Pg / upgrade / XXXX.schema.mark_perm_grp_descendants_stable.sql
1 BEGIN;
2
3 SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
4
5 CREATE OR REPLACE FUNCTION permission.grp_descendants( INT ) RETURNS SETOF permission.grp_tree AS $$
6     WITH RECURSIVE descendant_depth AS (
7         SELECT  gr.id,
8                 gr.parent
9           FROM  permission.grp_tree gr
10           WHERE gr.id = $1
11             UNION ALL
12         SELECT  gr.id,
13                 gr.parent
14           FROM  permission.grp_tree gr
15                 JOIN descendant_depth dd ON (dd.id = gr.parent)
16     ) SELECT gr.* FROM permission.grp_tree gr JOIN descendant_depth USING (id);
17 $$ LANGUAGE SQL STABLE ROWS 1;
18
19 COMMIT;