-- -- wp_presentation__delete/1 -- create or replace function wp_presentation__delete( integer ) returns int4 as $$ declare p_pres_item_id alias for $1; v_audience_item_id cr_items.item_id%TYPE; v_background_item_id cr_items.item_id%TYPE; del_rec record; begin for del_rec in select item_id as slide_item_id from cr_items where content_type = 'cr_wp_slide' and parent_id = p_pres_item_id loop perform wp_slide__delete(del_rec.slide_item_id); end loop; select item_id into v_audience_item_id from cr_items where content_type = 'cr_wp_presentation_aud' and parent_id = p_pres_item_id; perform wp_presentation__delete_audience(v_audience_item_id); select item_id into v_background_item_id from cr_items where content_type = 'cr_wp_presentation_back' and parent_id = p_pres_item_id; perform wp_presentation__delete_background(v_background_item_id); delete from acs_permissions where object_id = p_pres_item_id; -- update acs_objects set context_id=null where context_id = p_pres_item_id; delete from cr_wp_presentations where exists (select 1 from cr_revisions where cr_revisions.revision_id = cr_wp_presentations.presentation_id and cr_revisions.item_id = p_pres_item_id); perform content_item__delete(p_pres_item_id); return 0; end;$$ language plpgsql;