-- -- file_storage__get_package_id/1 -- create or replace function file_storage__get_package_id( integer ) returns int4 as $$ -- fs_root_folders.package_id%TYPE declare get_package_id__item_id alias for $1; v_package_id fs_root_folders.package_id%TYPE; v_tree_sortkey cr_items.tree_sortkey%TYPE; begin select fs_root_folders.package_id into v_package_id from fs_root_folders, (select cr_items.item_id from (select tree_ancestor_keys(cr_items_get_tree_sortkey(get_package_id__item_id)) as tree_sortkey) parents, cr_items where cr_items.tree_sortkey = parents.tree_sortkey) this where fs_root_folders.folder_id = this.item_id; if NOT FOUND then return null; else return v_package_id; end if; end;$$ language plpgsql;