-- PATCH 267, BUG 775 Randy O'Meara -- procedure delete -- function acs_group_delete in file -- acs-kernel/sql/postgresql/groups-body-create.sql attempts to delete -- associated relational segments before removing any active relations on -- those segments. The group delete request is not successful and the -- following error is returned. -- ERROR: party_member_party_fk referential integrity violation - key in -- parties still referenced from party_approved_member_map -- create or replace function acs_group__delete (integer) returns integer as ' declare delete__group_id alias for $1; row record; begin -- Delete all the relations of any type to this group for row in select r.rel_id, t.package_name from acs_rels r, acs_object_types t where r.rel_type = t.object_type and (r.object_id_one = delete__group_id or r.object_id_two = delete__group_id) LOOP execute ''select '' || row.package_name || ''__delete('' || row.rel_id || '')''; end loop; -- Delete all segments defined for this group for row in select segment_id from rel_segments where group_id = delete__group_id LOOP PERFORM rel_segment__delete(row.segment_id); end loop; PERFORM party__delete(delete__group_id); return 0; end;' language 'plpgsql';