DBA Data[Home] [Help]

PACKAGE: CTXSYS.DRISGP

Source


1 package drisgp as
2 
3   SEC_TYPE_UNKNOWN             constant number :=  0;
4   SEC_TYPE_ZONE                constant number :=  1;
5   SEC_TYPE_FIELD               constant number :=  2;
6   SEC_TYPE_SPECIAL             constant number :=  3;
7   SEC_TYPE_STOP                constant number :=  4;
8   SEC_TYPE_ATTR                constant number :=  5;
9   SEC_TYPE_XML                 constant number :=  6;
10   SEC_TYPE_MDATA               constant number :=  7;
11   SEC_TYPE_CSDATA              constant number :=  8;
12   SEC_TYPE_CMDATA              constant number :=  9;
13   SEC_TYPE_SDATA               constant number := 10;
14   SEC_TYPE_NDATA               constant number := 11;
15   SEC_TYPE_MVDATA              constant number := 12;
16 
17   SEC_DATATYPE_UNKNOWN         constant binary_integer :=  0;
18   SEC_DATATYPE_NUMBER          constant binary_integer :=  2;
19   SEC_DATATYPE_VARCHAR2        constant binary_integer :=  5;
20   SEC_DATATYPE_DATE            constant binary_integer := 12;
21   SEC_DATATYPE_RAW             constant binary_integer := 23;
22   SEC_DATATYPE_CHAR            constant binary_integer := 96;
23 
24   SEC_ZONE_FID                 constant number :=  1;
25 
26   SEC_FIELD_LOW_MIN_FID        constant number :=  16;
27   SEC_FIELD_LOW_MAX_FID        constant number :=  79;
28   SEC_FIELD_HIGH_MIN_FID       constant number :=  1001;
29   SEC_FIELD_HIGH_MAX_FID       constant number :=  1333;
30 
31   SEC_MDATA_LOW_MIN_FID        constant number := 400;
32   SEC_MDATA_LOW_MAX_FID        constant number := 499;
33   SEC_MDATA_HIGH_MIN_FID       constant number := 5000;
34   SEC_MDATA_HIGH_MAX_FID       constant number := 5999;
35   SEC_MAX_MDATA                constant number := 100;
36 
37   SEC_NDATA_MIN_FID            constant number := 200;
38   SEC_NDATA_MAX_FID            constant number := 299;
39   SEC_MAX_NDATA                constant number := 100;
40 
41   SEC_SDATA_MIN_FID            constant number := 101;
42   SEC_SDATA_MAX_FID            constant number := 199;
43   SEC_MAX_SDATA                constant number := 99;
44 
45   SEC_MVDATA_MIN_FID           constant number := 300;
46   SEC_MVDATA_MAX_FID           constant number := 399;
47   SEC_MAX_MVDATA               constant number := 100;
48 
49 /*-------------------- create_section_group  ---------------------------*/
50 /* create a new section group */
51 
52 PROCEDURE create_section_group(
53   p_group_name   in    varchar2
54 , p_group_type   in    varchar2
55 ,  preference_implicit_commit in boolean
56 );
57 
58 /*-------------------- drop_section_group  ---------------------------*/
59 /* drop a section group */
60 
61 PROCEDURE drop_section_group(
62   p_group_name   in    varchar2,
63   preference_implicit_commit in boolean
64 );
65 
66 /*-------------------------- set_sec_grp_attr -------------------------------*/
67 /*
68   NAME
69     set_sec_grp_attr
70   DESCRIPTION
71     add a section group specific attribute to a section group identified by
72     name
73   ARGUMENTS
74     group_name      - section group name
75     attribute_name  - section group attribute name
76     attribute_value - section group attribute value
77   NOTES
78 
79   EXCEPTIONS
80 
81 */
82 procedure set_sec_grp_attr(group_name      in varchar2,
83                            attribute_name  in varchar2,
84                            attribute_value in varchar2);
85 
86 /*----------------------- ins_sec_grp_attr_by_id ----------------------------*/
87 /*
88   NAME
89     ins_sec_grp_attr_by_id
90   DESCRIPTION
91     add a section group specific attribute to a a section group identified
92     by an id
93   ARGUMENTS
94     sgp_name        - section group name
95     sgp_id          - section group id
96     attribute_name  - section group attribute name
97     attribute_value - section group attribute value
98     operation       - 'SET' or 'ADD' depending on whether the attribute
99                       value is being set for the first time for this section
100                       group or whether the attribute value is being added
101                       to an already existing list of values for this section
102                       group
103   NOTES
104 
105   EXCEPTIONS
106 
107 */
108 procedure ins_sec_grp_attr_by_id(sgp_name        in varchar2,
109                                  sgp_id          in number,
110                                  attribute_name  in varchar2,
111                                  attribute_value in varchar2,
112                                  operation       in varchar2);
113 
114 /*-------------------------- add_sec_grp_attr_val --------------------*/
115 /*
116   NAME
117     add_sec_grp_attr_val
118   DESCRIPTION
119     add a section group attribute value to the list of values of an already
120     existing section group attribute.
121 
122   ARGUMENTS
123     group_name      - section group name
124     attribute_name  - section group attribute name
125     attribute_value - section group attribute value
126   NOTES
127 
128   EXCEPTIONS
129 
130 */
131 procedure add_sec_grp_attr_val(group_name      in varchar2,
132                                attribute_name  in varchar2,
133                                attribute_value in varchar2);
134 
135 /*-------------------------- rem_sec_grp_attr_val --------------------*/
136 /*
137   NAME
138     rem_sec_grp_attr_val
139   DESCRIPTION
140     remove a specific section group attribute value from the list of values
141     of an existing section group attribute.
142 
143   ARGUMENTS
144     group_name      - section group name
145     attribute_name  - section group attribute name
146     attribute_value - section group attribute value
147   NOTES
148 
149   EXCEPTIONS
150 
151 */
152 procedure rem_sec_grp_attr_val(group_name      in varchar2,
153                                attribute_name  in varchar2,
154                                attribute_value in varchar2);
155 
156 /*---------------------- unset_sec_grp_attr ---------------------------------*/
157 /*
158   NAME
159     unset_sec_grp_attr
160   DESCRIPTION
161     remove a section group specific attribute
162   ARGUMENTS
163     group_name      - section group name
164     attribute_name  - section group attribute name
165   NOTES
166 
167   EXCEPTIONS
168 
169 */
170 procedure unset_sec_grp_attr(group_name      in varchar2,
171                              attribute_name  in varchar2);
172 
173 /*-------------------- drop_user_section_groups ----------------------*/
174 /* Drop section groups owned by a user */
175 
176 PROCEDURE drop_user_section_groups(
177   p_user_name in varchar2 := null
178 );
179 
180 /*-------------------- add_section --------------------*/
181 /* add a section to a section group */
182 
183 PROCEDURE add_section(
184   p_group_name     in     varchar2,
185   p_section_name   in     varchar2,
186   p_tag            in     varchar2,
187   p_section_type   in     binary_integer,
188   p_visible        in     boolean,
189   p_datatype       in     varchar2 default NULL,
190   preference_implicit_commit in boolean
191 );
192 
193 /*-------------------- remove_section ---------------------------*/
194 
195 PROCEDURE remove_section(
196   group_name    in    varchar2,
197   section_name  in    varchar2,
198   preference_implicit_commit in boolean
199 );
200 
201 PROCEDURE remove_section(
202   group_name     in    varchar2,
203   section_id     in    number,
204   preference_implicit_commit in boolean
205 );
206 
207 /*--------------------------- get_default_section ------------------*/
208 /* get the default value for the section group preference */
209 
210 function get_default_section(
211   p_dstore_pref in varchar2,
212   p_filter_pref in varchar2,
213   p_dtype_pref  in varchar2
214 )
215 return varchar2;
216 
217 /*--------------------------- get_sg_info -------------------------*/
218 /* get section group info */
219 
220 function get_sg_info(
221   p_sg_name    in  varchar2,
222   f_new_sg     in  boolean   default false,
223   f_check_own  in  boolean   default false
224 )
225 return dr_def.pref_rec;
226 
227 /*------------------------ copy_section_group ------------------------------*/
228 /* copy section group info into index meta data */
229 
230 function copy_section_group(
231   p_idx_id     in  number,
232   p_sgroup     in  varchar2,
233   p_rcount     out number,
234   alt_I        out boolean,
235   p_new_sdata_section  out boolean,
236   ia           in      sys.ODCIIndexInfo default NULL
237 )
238 return dr_def.pref_rec;
239 
240 /*----------------------- IndexAddSection  ---------------------------*/
241 /* add a section to an already existing index */
242 
243 PROCEDURE IndexAddSection(
244   ia          in  sys.ODCIIndexInfo,
245   idx         in  dr_def.idx_rec,
246   sectype     in  varchar2,
247   secname     in  varchar2,
248   tag         in  varchar2,
249   visible     in  number,
250   NewSdataSec out boolean,
251   dtype       in  number,
252   alt_I       out boolean,
253   skip_lk     in boolean
254 );
255 
256 /*----------------------- LoadSectionMD  ---------------------------*/
257 /* load section metadata from the index values table */
258 
259 PROCEDURE LoadSectionMD(
260   p_idxid    in         number,
261   p_fonly    in         boolean,
262   o_sectab   out nocopy dr_def.sec_tab
263 );
264 
265 /*----------------------- GetSection ------------------------------*/
266 /* return type of section given name */
267 FUNCTION GetSection(
268   p_idxid    in         number,
269   p_secname  in         varchar2
270 ) return dr_def.sec_rec;
271 
272 /*----------------------- GetSections ------------------------------*/
273 /* return sections associated with given index */
274 FUNCTION GetSections(
275   p_idxid    in         number
276 ) return dr_def.sec_tab;
277 
278 /*----------------------- HasSectionType ------------------------------*/
279 /* return true if section group has section of given type */
280 FUNCTION HasSectionType(
281   p_sec_grp  in         varchar2,
282   p_sectype  in         number
283 ) return boolean;
284 
285 /*--------------------------- field_to_mdata ------------------------------*/
286 /* make the metadata changes to convert a field section to mdata */
287 PROCEDURE field_to_mdata(
288   idx in dr_def.idx_rec,
289   fsec in varchar2,
290   read_only in boolean,
291   ftyp out number,
292   mdatatyp out number
293 );
294 
295 /*----------------------- IndexRemSection  ---------------------------*/
296 /* Remove section from index metadata, used for doc lexer */
297 PROCEDURE IndexRemSection(
298   ia          in  sys.ODCIIndexInfo,
299   idx         in  dr_def.idx_rec,
300   sectype     in  varchar2,
301   secname     in  varchar2,
302   sectag      in  varchar2,
303   secfid      in  number,
304   skip_lk     in  boolean
305 );
306 
307 /*----------------------- SecIsMDATA -------------------------------*/
308 /* Returns true if given fid/ttype is MDATA   */
309 FUNCTION SecIsMDATA(
310   sec_fid    in         number
311 ) return boolean;
312 
313 /*--------------------------- GetTkTypMVDATA ------------------------*/
314 /* check that it's an  MVDATA section and return token_type */
315 FUNCTION GetTkTypMVDATA(
316   p_idx     in dr_def.idx_rec,
317   p_secname in varchar2
318 ) return binary_integer;
319 
320 /*--------------------------- CheckUpdMdata ------------------------*/
321 /* check that mdata section is updateable, and return token_type */
322 FUNCTION CheckUpdMdata(
323   p_idx     in dr_def.idx_rec,
324   p_secname in varchar2
325 ) return binary_integer;
326 
327 /*---------------------------- set_section_attribute -----------------------*/
328 /*
329   NAME
330     set_section_attribute
331   DESCRIPTION
332     add a section specific attribute
333   ARGUMENTS
334     group_name      - section group name
335     section_name    - section name
336     attribute_name  - section attribute name
337     attribute_value - section attribute value
338   NOTES
339 
340   EXCEPTIONS
341 
342 */
343 procedure set_section_attribute(group_name      in varchar2,
344                                 section_name    in varchar2,
345                                 attribute_name  in varchar2,
346                                 attribute_value in varchar2,
347                                 preference_implicit_commit in boolean);
348 
349 /*------------------------- set_section_attribute_by_id --------------------*/
350 procedure set_section_attribute_by_id(sgp_id in number,
351                                       sec_id in number,
352                                       attribute_name  in varchar2,
353                                       attribute_value in varchar2);
354 
355 /*-------------------------- unset_section_attribute -----------------------*/
356 
357 procedure unset_section_attribute(group_name      in varchar2,
358                                   section_name    in varchar2,
359                                   attribute_name  in varchar2,
360                                   preference_implicit_commit in boolean);
361 
362 /*-------------------------- csv_to_section_attr -----------------------*/
363 
364 procedure  csv_to_section_attr(p_idxid   in number,
365                                p_sectype in varchar2,
366                                p_csv     in varchar2);
367 
368 /*-------------------------- IndexSetSectionAttribute -----------------------*/
369 procedure IndexSetSectionAttribute(idx_id          in number,
370                                    sgp_obj_id      in number,
371                                    section_id      in number,
372                                    attribute_name  in varchar2,
373                                    attribute_value in varchar2);
374 
375 /*------------------------- IndexUnsetSectionAttribute ----------------------*/
376 procedure IndexUnsetSectionAttribute(idx_id        in number,
377                                      section_name  in varchar2,
378                                      section_tag   in varchar2,
379                                      section_id   out number);
380 
381 /*------------------------- IndexUpdateSectionAttribute ---------------------*/
382 procedure IndexUpdateSectionAttribute(idx_id          in number,
383                                    section_id      in number,
384                                    attribute_name  in varchar2,
385                                    attribute_value in varchar2);
386 
387 /*-------------------------- IndexGetSectionAttribute -----------------------*/
388 procedure IndexGetSectionAttribute(idx_id          in number,
389                                    section_id      in number,
390                                    attribute_name  in varchar2,
391                                    attribute_value out varchar2);
392 
393 /*--------------------------- IndexGetSectionId -------------------------*/
394 procedure IndexGetSectionId(idxid           in number,
395                             section_name    in varchar2,
396                             section_tag     in varchar2,
397                             section_id      out number);
398 
399 end drisgp;