-- -- content_item__set_live_revision/4 -- create or replace function content_item__set_live_revision( p__revision_id integer, p__publish_status character varying DEFAULT 'ready'::character varying, p__publish_date timestamp with time zone DEFAULT now(), p__is_latest boolean DEFAULT false ) returns int4 as $$ DECLARE BEGIN if p__is_latest then update cr_items set live_revision = p__revision_id, publish_status = p__publish_status, latest_revision = p__revision_id where item_id = (select item_id from cr_revisions where revision_id = p__revision_id); else update cr_items set live_revision = p__revision_id, publish_status = p__publish_status where item_id = (select item_id from cr_revisions where revision_id = p__revision_id); end if; update cr_revisions set publish_date = p__publish_date where revision_id = p__revision_id; return 0; END; $$ language plpgsql;