--
-- 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;