-- -- pa_album__delete/1 -- create or replace function pa_album__delete( integer ) returns int4 as $$ declare v_album_id alias for $1; v_num_children integer; begin -- check if album is empty (no rm -r *) select count(*) into v_num_children from cr_items where parent_id = v_album_id; if v_num_children > 0 then raise_application_error(-20000, 'The specified album ' || album_id || ' still contains photos. An album must be empty before it can be deleted.'); end if; -- content_item.delete takes care of all revision -- on delete cascades take care of rest PERFORM content_item__delete (v_album_id); return 0; end; $$ language plpgsql;