1 package dricon as
2
3 /*---------------------------- set_datatype_obj ------------------------*/
4 /*
5 NAME
6 set_datatype_obj
7
8 DESCRIPTION
9 calculates which datatype object is needed
10
11 RETURNS
12 names of datatype preference and obj_id
13 */
14 PROCEDURE set_datatype_obj(
15 p_texttype in number,
16 p_datatype_pref out varchar2,
17 p_datatype_id out number
18 );
19
20 /*---------------------------- set_store_obj ------------------------*/
21 /*
22 NAME
23 set_store_obj
24
25 DESCRIPTION
26 calculates which datastore objects are needed
27
28 RETURNS
29 names of store interface and store type to use
30 */
31 PROCEDURE set_store_obj(
32 p_dstore_pref in varchar2,
33 p_texttype in number,
34 p_idx_owner in varchar2,
35 p_key_name in varchar2,
36 p_storex_pref out varchar2,
37 p_datatype_pref out varchar2
38 );
39
40 /*---------------------------- get_data_type ------------------------*/
41 /*
42 NAME
43 get_data_type
44
45 DESCRIPTION
46 simple way to get the data type of a table column
47
48 RETURNS
49 datatype as a word. type_num is the datatype as the oracle type id.
50
51 NOTES
52 all arguments should be UPPER'ed first
53 */
54 FUNCTION get_data_type(
55 p_owner IN varchar2,
56 p_tabname IN varchar2,
57 p_colname IN varchar2,
58 type_num OUT number,
59 dtlength OUT number,
60 dtscale OUT number
61 ) return varchar2;
62
63 /*----------------------- get_type_data_type ------------------------*/
64 /*
65 NAME
66 get_type_data_type
67
68 DESCRIPTION
69 get the data type of a type table column
70
71 RETURNS
72 datatype as a word. type_num is the datatype as the oracle type id.
73
74 NOTES
75 all arguments should be UPPER'ed first
76 */
77 PROCEDURE get_type_data_type(
78 p_typename IN varchar2, -- type name with owner prefix
79 p_colname IN varchar2, -- text column name with no owner prefix
80 p_typenum OUT number, -- text column datatype
81 p_dtlen OUT number -- text column data length
82 );
83
84 /*----------------------------- validate_tab -------------------------------*/
85 /*
86 NAME
87 validate_tab - VALIDATE TABle
88 DESCRIPTION
89 validate table exists
90
91 NOTES
92 Assumes that p_owner, p_table_name are NON-NULL
93 */
94 PROCEDURE validate_tab(
95 owner in varchar2, -- owner of table
96 tabname in varchar2 -- table name
97 );
98
99 /* ----------------- test if the table exists ------------------------ */
100 /* NAME
101 exist_tab - test if table exists
102 DESCRIPTION
103 return true when table exists,
104 false when table does not exist
105
106 NOTES
107 Assumes that p_owner, p_table_name are NON-NULL
108 */
109 FUNCTION exist_tab(
110 l_owner IN VARCHAR2,
111 l_tabname IN VARCHAR2) return boolean;
112
113 /*----------------------- validate_text_column ----------------------------*/
114 /*
115 NAME
116 validate_text_column
117
118 DESCRIPTION
119 validate column exists, get the type and length, and make sure
120 we can index this type.
121
122 NOTES
123 Assumes that table exists
124 */
125
126 procedure validate_text_column(
127 p_idx_type in number,
128 owner in varchar2, -- owner of table
129 tabname in varchar2, -- table name
130 column_name in varchar2,
131 coltype out number,
132 collen out number
133 );
134
135 /*----------------------- validate_meta_column ----------------------------*/
136 /*
137 NAME
138 validate_meta_column
139
140 DESCRIPTION
141 validate column exists, ensure type, normalize name
142
143 NOTES
144 Assumes that table exists
145 */
146 PROCEDURE validate_meta_column(
147 p_owner in varchar2,
148 p_tabname in varchar2,
149 p_langcol in varchar2,
150 p_type_error in number,
151 p_norm in out varchar2
152 );
153
154 /*--------------------- get_primary_key -------------------------------*/
155 /*
156 NAME
157 get_primary_key
158
159 DESCRIPTION
160 detect the primary key columns, determine their type and number
161 */
162 PROCEDURE get_primary_key(
163 p_owner in varchar2,
164 p_table_name in varchar2,
165 keyname out varchar2,
166 keytype out number
167 );
168
169 /*----------------------- validate_cdi ----------------------------*/
170 /*
171 NAME
172 validate_cdi
173
174 DESCRIPTION
175 validate column types, lengths, etc.
176 */
177 PROCEDURE validate_cdi(
178 p_owner in varchar2,
179 p_table_name in varchar2,
180 cols in sys.odcicolinfolist,
181 collen in out nocopy dr_def.id_tab,
182 coltype in out nocopy dr_def.name_tab,
183 coltype# in out nocopy dr_def.id_tab
184 );
185
186 end dricon;