--
--
--
-- @author Dave Bauer (dave@thedesignexperience.org)
-- @creation-date 2005-01-13
-- @cvs-id $Id: upgrade-5.1.5d1-5.1.5d2.sql,v 1.3 2018/08/15 16:48:01 gustafn Exp $
--
create or replace function content_folder__is_sub_folder (integer,integer)
returns boolean as '
declare
is_sub_folder__folder_id alias for $1;
is_sub_folder__target_folder_id alias for $2;
v_parent_id integer default 0;
v_sub_folder_p boolean default ''f'';
v_rec record;
begin
if is_sub_folder__folder_id = content_item__get_root_folder(null) or
is_sub_folder__folder_id = content_template__get_root_folder() then
v_sub_folder_p := ''t'';
end if;
-- select
-- parent_id
-- from
-- cr_items
-- connect by
-- prior parent_id = item_id
-- start with
-- item_id = is_sub_folder__target_folder_id
for v_rec in select i2.parent_id
from cr_items i1, cr_items i2
where i1.item_id = is_sub_folder__target_folder_id
and i1.tree_sortkey between i2.tree_sortkey and tree_right(i2.tree_sortkey)
order by i2.tree_sortkey desc
LOOP
v_parent_id := v_rec.parent_id;
exit when v_parent_id = is_sub_folder__folder_id;
-- we did not find the folder, reset v_parent_id
v_parent_id := 0;
end LOOP;
if v_parent_id != 0 then
v_sub_folder_p := ''t'';
end if;
return v_sub_folder_p;
end;' language 'plpgsql';