create or replace function content_item__get_root_folder (integer)
returns integer as '
declare
get_root_folder__item_id alias for $1; -- default null
v_folder_id cr_folders.folder_id%TYPE;
begin
if get_root_folder__item_id is NULL or get_root_folder__item_id in (-4,-100,-200) then
v_folder_id := content_item_globals.c_root_folder_id;
else
select i2.item_id into v_folder_id
from cr_items i1, cr_items i2
where i2.parent_id = -4
and i1.item_id = get_root_folder__item_id
and i1.tree_sortkey between i2.tree_sortkey and tree_right(i2.tree_sortkey);
if NOT FOUND then
raise EXCEPTION '' -20000: Could not find a root folder for item ID %. Either the item does not exist or its parent value is corrupted.'', get_root_folder__item_id;
end if;
end if;
return v_folder_id;
end;' language 'plpgsql' stable;