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