-- -- static_page__delete/1 -- create or replace function static_page__delete( integer ) returns int4 as $$ declare p_static_page_id alias for $1; v_comment_row RECORD; v_rec_affected integer; v_static_page_id integer; begin -- Delete all permissions on this page: delete from acs_permissions where object_id = p_static_page_id; -- Drop all comments on this page. general-comments doesn't have -- a comment.delete() function, so I just do this (see the -- general-comments drop script): for v_comment_row in select comment_id from general_comments where object_id = p_static_page_id loop delete from images where image_id in ( select latest_revision from cr_items where parent_id = v_comment_row.comment_id ); PERFORM acs_message__delete(v_comment_row.comment_id); end loop; -- Delete the page. -- WE SHOULDN'T NEED TO DO THIS: CONTENT_ITEM.DELETE SHOULD TAKE CARE OF -- DELETING FROM STATIC PAGES. delete from static_pages where static_page_id = p_static_page_id; GET DIAGNOSTICS v_rec_affected = ROW_COUNT; RAISE NOTICE '*** Number of rows deleted: %',v_rec_affected; select into v_static_page_id static_page_id from static_pages where static_page_id = p_static_page_id; GET DIAGNOSTICS v_rec_affected = ROW_COUNT; RAISE NOTICE '*** selected % rows still in static_pages',v_rec_affected; PERFORM content_item__delete(p_static_page_id); return 0; end;$$ language plpgsql;