-- -- party_approved_member__remove/4 -- create or replace function party_approved_member__remove( integer, integer, integer, character varying ) returns int4 as $$ declare p_party_id alias for $1; p_member_id alias for $2; p_rel_id alias for $3; p_rel_type alias for $4; v_segments record; begin perform party_approved_member__remove_one(p_party_id, p_member_id, p_rel_id); -- if the relation type is mapped to relational segments unmap them too for v_segments in select segment_id from rel_segments s, acs_object_types o1, acs_object_types o2 where o1.object_type = p_rel_type and o1.tree_sortkey between o2.tree_sortkey and tree_right(o2.tree_sortkey) and s.rel_type = o2.object_type and s.group_id = p_party_id loop perform party_approved_member__remove_one(v_segments.segment_id, p_member_id, p_rel_id); end loop; return 1; end;$$ language plpgsql;