DROP FUNCTION IF EXISTS content_item__set_live_revision(integer); DROP FUNCTION IF EXISTS content_item__set_live_revision(integer, character varying); select define_function_args('content_item__set_live_revision','revision_id,publish_status;ready,publish_date;now()'); -- -- procedure content_item__set_live_revision/2 -- CREATE OR REPLACE FUNCTION content_item__set_live_revision( set_live_revision__revision_id integer, set_live_revision__publish_status varchar default 'ready', set_live_revision__publish_date timestamptz default now() ) RETURNS integer AS $$ DECLARE BEGIN update cr_items set live_revision = set_live_revision__revision_id, publish_status = set_live_revision__publish_status where item_id = (select item_id from cr_revisions where revision_id = set_live_revision__revision_id); update cr_revisions set publish_date = set_live_revision__publish_date where revision_id = set_live_revision__revision_id; return 0; END; $$ LANGUAGE plpgsql;