-- -- news__delete/1 -- create or replace function news__delete( integer ) returns int4 as $$ declare p_item_id alias for $1; v_item_id cr_items.item_id%TYPE; v_cm RECORD; begin v_item_id := p_item_id; -- dbms_output.put_line('Deleting associated comments...'); -- delete acs_messages, images, comments to news item FOR v_cm IN select message_id from acs_messages am, acs_objects ao where am.message_id = ao.object_id and ao.context_id = v_item_id LOOP -- images delete from images where image_id in (select latest_revision from cr_items where parent_id = v_cm.message_id); PERFORM acs_message__delete(v_cm.message_id); delete from general_comments where comment_id = v_cm.message_id; END LOOP; delete from cr_news where news_id in (select revision_id from cr_revisions where item_id = v_item_id); PERFORM content_item__delete(v_item_id); return 0; end; $$ language plpgsql;