--
-- content_item__get_title/2
--
create or replace function content_item__get_title(
get_title__item_id integer,
get_title__is_live boolean DEFAULT false
) returns varchar as $$
DECLARE
v_title cr_revisions.title%TYPE;
v_content_type cr_items.content_type%TYPE;
BEGIN
select content_type into v_content_type from cr_items
where item_id = get_title__item_id;
if v_content_type = 'content_folder' then
select label into v_title from cr_folders
where folder_id = get_title__item_id;
else if v_content_type = 'content_symlink' then
select label into v_title from cr_symlinks
where symlink_id = get_title__item_id;
else if v_content_type = 'content_extlink' then
select label into v_title from cr_extlinks
where extlink_id = get_title__item_id;
else
if get_title__is_live then
select
title into v_title
from
cr_revisions r, cr_items i
where
i.item_id = get_title__item_id
and
r.revision_id = i.live_revision;
else
select
title into v_title
from
cr_revisions r, cr_items i
where
i.item_id = get_title__item_id
and
r.revision_id = i.latest_revision;
end if;
end if; end if; end if;
return v_title;
END;
$$ language plpgsql;