-- -- acs_group__check_representation/1 -- create or replace function acs_group__check_representation( integer ) returns bool as $$ declare group_id alias for $1; res boolean; comp record; memb record; begin if group_id is null then --maybe we should just return 'f' instead? raise exception 'acs_group__check_representation called with null group_id'; end if; res := 't'; PERFORM acs_log__notice('acs_group.check_representation', 'Running check_representation on group ' || group_id); if acs_object__check_representation(group_id) = 'f' then res := 'f'; end if; for comp in select c.rel_id from acs_rels r, composition_rels c where r.rel_id = c.rel_id and r.object_id_one = group_id LOOP if composition_rel__check_representation(comp.rel_id) = 'f' then res := 'f'; end if; end loop; for memb in select m.rel_id from acs_rels r, membership_rels m where r.rel_id = m.rel_id and r.object_id_one = group_id LOOP if membership_rel__check_representation(memb.rel_id) = 'f' then res := 'f'; end if; end loop; PERFORM acs_log__notice('acs_group.check_representation', 'Done running check_representation on group ' || group_id); return res; end;$$ language plpgsql;