--
-- 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;