1 package okc_tree_index AUTHID CURRENT_USER as
2 /* $Header: OKCRTRIS.pls 120.0 2005/05/26 09:33:57 appldev noship $ */
3
4 --
5 -- p_tree_id is only for the case when
6 -- several tree statements included in a single query
7 -- and there is hazard that they will be treated in parallel;
8 -- usually rely on default value of this parameter
9 --
10 --
11 -- default separator is '.', to override use set_separator(p_separator varchar2)
12 --
13 -- default pad character is ' ', to override use set_pad_char(p_pad_char varchar2)
14 --
15 -- use not paded methods only if need
16 --
17
18 --
19 -- function get_id constructs tree index for numeric leaf index
20 --
21 -- p_level to pass level from treewalk query
22 -- p_id to pass key entry that will be part of the returned index
23 -- p_tree_id explained at the package top
24
25 function get_id(
26 p_level IN number,
27 p_id IN number,
28 p_tree_id IN number default 1
29 ) return varchar2;
30
31 --
32 -- function get_id_lpaded constructs tree index for numeric leaf index
33 -- each key entry will be lpaded up to p_digits size
34 --
35 -- p_level to pass level from treewalk query
36 -- p_id to pass key entry that will be part of the returned index
37 -- p_digits size of key entry lpaded
38 -- p_tree_id explained at the package top
39
40 function get_id_lpaded(
41 p_level IN number,
42 p_id IN number,
43 p_digits IN number,
44 p_tree_id IN number default 1
45 ) return varchar2;
46
47 --
48 -- function get_label constructs tree index for character leaf index
49 --
50 -- p_level to pass level from treewalk query
51 -- p_label to pass key entry that will be part of the returned index
52 -- p_tree_id explained at the package top
53
54 function get_label(
55 p_level IN number,
56 p_label IN varchar2,
57 p_tree_id IN number default 1
58 ) return varchar2;
59
60 --
61 -- function get_label_rpaded constructs tree index for character leaf index
62 -- key entries will be rpaded up to p_characters
63 --
64 -- p_level to pass level from treewalk query
65 -- p_label to pass key entry that will be part of the returned index
66 -- p_characters size of key entry after rpaded
67 -- p_tree_id explained at the package top
68
69 function get_label_rpaded(
70 p_level IN number,
71 p_label IN varchar2,
72 p_characters IN number,
73 p_tree_id IN number default 1
74 ) return varchar2;
75
76 --
77 -- procedure set_separator
78 --
79 -- to override default separator that is '.'
80 --
81 procedure set_separator(p_separator IN varchar2);
82
83 --
84 -- procedure set_pad_char
85 --
86 -- to override default pad character that is ' '
87 --
88 procedure set_pad_char(p_pad_char IN varchar2);
89
90 --
91 -- these procedures are of rare usage
92 --
93 -- set/get root id is only needed for deep nested treewalk queries
94 -- to set something like bind var for the tree root
95 --
96
97 procedure set_root_id(p_id IN number,p_tree_id IN number default 1);
98
99 function get_root_id(p_tree_id IN number default 1) return number;
100
101 --
102 -- function nested_rownum for internal usage only
103 --
104 function nested_rownum(p_instance number, p_idx number, p_cnt number) return number;
105
106 end;