postgresql7.2
select content_item__get_root_folder(null);
select f.folder_id, i.name, f.label, f.has_child_folders, tree_level(i.tree_sortkey) as level,
tree_level(p.tree_sortkey) as parent_level
$addtnl_select
from cr_items i, cr_folders f,
(select tree_sortkey from cr_items where item_id = :parent_id) p
where f.folder_id = i.item_id
and tree_ancestor_p(p.tree_sortkey, i.tree_sortkey)
$addtnl_where
order by i.tree_sortkey
select a.item_id as folder_id, o.name, f.label, f.has_child_folders, tree_level(a.tree_sortkey_trail) as level,
tree_level(parent_sortkey) as parent_level
$addtnl_select
from cr_items o, cr_folders f,
(select tree_ancestor_keys(i.tree_sortkey) as tree_sortkey_trail, p.tree_sortkey as parent_sortkey, i.item_id, i.tree_sortkey
from cr_items i,
(select tree_sortkey from cr_items where item_id = :parent_id) p
where tree_ancestor_p(p.tree_sortkey, i.tree_sortkey)
and content_type = 'content_folder'
$addtnl_where) a
where o.item_id = f.folder_id
and o.tree_sortkey = a.tree_sortkey_trail
and tree_ancestor_p(parent_sortkey, o.tree_sortkey)
order by a.tree_sortkey
select content_folder__new(:name, :folder_label, :description, :parent_id)
select content_folder__delete(:folder_id)
select label as folder_name, folder_id, tree_level(i.tree_sortkey) as level,
tree_level(a.tree_sortkey) as parent_level
from cr_folders f, cr_items i,
(select tree_sortkey from cr_items where item_id = :bcms_parent_folder) a
where i.item_id = f.folder_id
and tree_ancestor_p(a.tree_sortkey, i.tree_sortkey)