-- -- packages/news/sql/postgresql/upgrade/upgrade-5.2.0d5-5.2.0d6.sql -- -- @author Roel Canicula (roel@solutiongrove.com) -- @creation-date 2006-02-02 -- @cvs-id $Id: upgrade-5.2.0d5-5.2.0d6.sql,v 1.4 2018/08/15 16:53:10 gustafn Exp $ -- -- added select define_function_args('news__clone','old_package_id,new_package_id'); -- -- procedure news__clone/2 -- CREATE OR REPLACE FUNCTION news__clone( p_old_package_id integer, --default null, p_new_package_id integer --default null ) RETURNS integer AS $$ DECLARE one_news record; BEGIN for one_news in select publish_date, cr.content as text, cr.nls_language, cr.title as title, cr.mime_type, cn.package_id, archive_date, approval_user, approval_date, approval_ip, ao.creation_date, ao.creation_ip, ao.creation_user, ci.locale, ci.live_revision, cr.revision_id, cn.lead from cr_items ci, cr_revisions cr, cr_news cn, acs_objects ao where cn.package_id = p_old_package_id and ((ci.item_id = cr.item_id and ci.live_revision = cr.revision_id and cr.revision_id = cn.news_id and cr.revision_id = ao.object_id) or (ci.live_revision is null and ci.item_id = cr.item_id and cr.revision_id = content_item__get_latest_revision(ci.item_id) and cr.revision_id = cn.news_id and cr.revision_id = ao.object_id)) loop perform news__new( null, one_news.locale, one_news.publish_date, one_news.text, one_news.nls_language, one_news.title, one_news.mime_type, p_new_package_id, one_news.archive_date, one_news.approval_user, one_news.approval_date, one_news.approval_ip, null, one_news.creation_ip, one_news.creation_user, one_news.live_revision = one_news.revision_id, one_news.lead ); end loop; return 0; END; $$ LANGUAGE plpgsql;