| |
1 |
1 |
|
| |
2 |
2 |
|
| |
3 |
3 |
create or replace function file_storage__get_root_folder ( |
| |
4 |
4 |
|
| |
5 |
5 |
|
| |
6 |
6 |
|
| |
7 |
7 |
|
| |
8 |
8 |
integer |
| |
9 |
9 |
) |
| |
10 |
10 |
returns integer as ' -- fs_root_folders.folder_id%TYPE |
| |
11 |
11 |
declare |
| |
12 |
12 |
get_root_folder__package_id alias for $1; |
| |
13 |
13 |
v_folder_id fs_root_folders.folder_id%TYPE; |
| |
14 |
14 |
begin |
| |
15 |
15 |
select folder_id into v_folder_id |
| |
16 |
16 |
from fs_root_folders |
| |
17 |
17 |
where package_id = get_root_folder__package_id; |
| |
18 |
18 |
|
| |
19 |
|
v_folder_id := file_storage__new_root_folder(get_root_folder__package_id, null, null); |
| |
20 |
|
|
| |
21 |
19 |
return v_folder_id; |
| |
22 |
20 |
|
| |
23 |
21 |
end;' language 'plpgsql' with (iscachable); |
| |
24 |
22 |
|
| |
25 |
23 |
create or replace function file_storage__get_package_id ( |
| |
26 |
24 |
integer |
| |
27 |
25 |
) returns integer as ' -- fs_root_folders.package_id%TYPE |
| |
28 |
26 |
declare |
| |
29 |
27 |
get_package_id__item_id alias for $1; |
| |
30 |
28 |
v_package_id fs_root_folders.package_id%TYPE; |
| |
31 |
29 |
v_tree_sortkey cr_items.tree_sortkey%TYPE; |
| |
32 |
30 |
begin |
| |
33 |
31 |
|
| |
34 |
32 |
select fs_root_folders.package_id |
| |
35 |
33 |
into v_package_id |
| |
36 |
34 |
from fs_root_folders, |
| |
37 |
35 |
(select cr_items.item_id |
| |
38 |
36 |
from (select tree_ancestor_keys(cr_items_get_tree_sortkey(get_package_id__item_id)) as tree_sortkey) parents, |
| |
39 |
37 |
cr_items |
| |
40 |
38 |
where cr_items.tree_sortkey = parents.tree_sortkey) this |