DBA Data[Home] [Help]

PACKAGE: CTXSYS.DRVDML

Source


1 package drvdml authid current_user as
2 
3   -- CTXCAT holding variables
4   type vctab is table of varchar2(30) index by binary_integer;
5   c_vctab           vctab;
6   c_cttab           vctab;
7 
8   type numtab is table of number index by binary_integer;
9   c_numtab          numtab;
10 
11   type dttab is table of date index by binary_integer;
12   c_dttab           dttab;
13 
14   type cntab is table of varchar2(256) index by binary_integer;
15   c_cntab           cntab;
16 
17   c_text_vc2        varchar2(32767);
18   c_text_clob       clob;
19   c_rowid           rowid;
20 
21   type updtab is table of boolean index by binary_integer;
22   c_updtab          updtab;
23 
24   -- 5079472: Mirror dbms_lock constants here because dbms_lock may not
25   -- be granted to public.
26   s_mode number := dbms_lock.s_mode;
27   x_mode number := dbms_lock.x_mode;
28 
29   -- Indicates if index population to be done on per document basis
30   pv_idx_pop_per_doc    boolean := FALSE;
31 
32 /*--------------------------- ProcessWaiting ------------------------------*/
33 
34 procedure ProcessWaiting (
35   p_idxtype in binary_integer,
36   p_idxid   in number,
37   p_idxown  in varchar2,
38   p_idxname in varchar2,
39   p_ixpid   in number,
40   p_ixpname in varchar2
41 );
42 
43 /*--------------------------- ProcessDML ------------------------*/
44 /*
45   NAME
46     ProcessDML
47 
48   DESCRIPTION
49     do a sync
50 
51   ARGUMENTS
52     CID             in     - column to work on
53     parallel_degree in     - parallel degree
54     direct_path     in     - use direct-path inserts ?
55 
56 */
57 procedure ProcessDML (
58   p_idxid  in  number,
59   p_ixpid  in  number,
60   p_idxmem in  number,
61   p_pardeg in  binary_integer default 1,
62   p_direct_path in boolean default false,
63   p_maxtime in binary_integer default 2147483647
64 );
65 
66 /*--------------------------- MaintainKTab -------------------------*/
67 /*
68   NAME
69     MaintainKTab
70 
71   DESCRIPTION
72     update the $K table after index creation/sync
73 
74   ARGUMENTS
75     idx               in     - the index
76     ixp               in     - the partition of the index
77     p_startDocid      in     - docid to start from
78     p_parallel_degree in     - parallel degree
79 
80 */
81 procedure MaintainKTab (
82   idx         in  dr_def.idx_rec,
83   ixp         in  dr_def.ixp_rec,
84   p_startDocid  in  number default null,
85   p_parallel_degree in number default 1
86 );
87 /*--------------------------- MaintainKTab -------------------------*/
88 /*
89   NAME
90     MaintainKTab
91 
92   DESCRIPTION
93     update the $K table after index creation/sync
94 
95   ARGUMENTS
96     p_idxid           in     - the index id
97     p_ixpid           in     - the partition id
98     p_startDocid      in     - docid to start from
99     p_parallel_degree in     - parallel degree
100 */
101 procedure MaintainKTab (
102   p_idxid           in number,
103   p_ixpid           in number,
104   p_startDocid      in  number default null,
105   p_parallel_degree in number default 1
106 );
107 
108 /*--------------------------- DeletePending ------------------------*/
109 
110 procedure DeletePending (
111   p_idxid  in number,
112   p_ixpid  in number,
113   p_rids   in varchar2
114 );
115 
116 /*----------------------------- CleanDML ---------------------------*/
117 
118 procedure CleanDML (
119   p_idxid  in number,
120   p_ixpid  in number,
121   p_tabid  in number
122 );
123 
124 /*-------------------------- SetLockFailed -------------------------*/
125 
126 procedure SetLockFailed (
127   p_idxid  in number,
128   p_ixpid  in number,
129   p_rid    in rowid
130 );
131 
132 /*--------------------------- ctxcat_dml ----------------------------*/
133 
134 procedure ctxcat_dml(
135   idx_owner in varchar2,
136   idx_name  in varchar2,
137   doindex   in boolean,
138   updop     in boolean
139 );
140 
141 /*----------------------- auto_sync_index ------------------------*/
142 
143 PROCEDURE auto_sync_index(
144   idx_name  in  varchar2 default NULL,
145   memory    in  varchar2 default NULL,
146   part_name in  varchar2 default NULL,
147   parallel_degree in number default 1,
148   logfile   in  varchar2 default NULL,
149   events    in  number   default NULL
150 );
151 
152 /*----------------------- com_sync_index -------------------------*/
153 PROCEDURE com_sync_index(
154   idx_name  in  varchar2 default null,
155   memory    in  varchar2 default null,
156   part_name in  varchar2 default null
157 );
158 
159 /*----------------------- add_rem_mdata --------------------------*/
160 
161 PROCEDURE add_rem_mdata(
162   add_rem      in varchar2,
163   idx_name     in varchar2,
164   section_name in varchar2,
165   mdata_values in sys.odcivarchar2list,
166   mdata_rowids in sys.odciridlist,
167   part_name    in varchar2
168 );
169 
170 /* 5364449: Removed csync since it is no longer used */
171 
172 /*------------------- PopulatePending -----------------------------*/
173 
174 PROCEDURE PopulatePending(
175   idx  in dr_def.idx_rec,
176   ixpname in varchar2
177 );
178 
179 /*------------------- UpdateMDATA -----------------------------*/
180 
181 PROCEDURE UpdateMDATA(
182   itab     in varchar2,
183   ktab     in varchar2,
184   mdata_id in binary_integer,
185   coltype  in varchar2,
186   rid      in varchar2,
187   oldval   in sys.anydata,
188   newval   in sys.anydata,
189   gtab     in varchar2 default null
190 );
191 
192 /* Following 2 routines added for bug 5079472 */
193 /*------------------- lock_opt_rebuild ------------------------*/
194 PROCEDURE lock_opt_rebuild(
195   cid        in number,
196   pid        in number,
197   lock_mode  in number,
198   timeout    in number,
199   release_on_commit in boolean default FALSE
200 );
201 
202 /*----------------- unlock_opt_rebuild ------------------------*/
203 PROCEDURE unlock_opt_rebuild;
204 
205 /*--------------------------- lock_opt_mvdata -----------------*/
206 PROCEDURE lock_opt_mvdata(
207   cid in number,
208   pid in number
209 );
210 
211 /*-------------------- upd_sdata  -----------------------------*/
212 /*
213   NAME
214     upd_sdata
215 
216   DESCRIPTION
217     update sdata section value
218 
219   ARGUMENTS
220     idx_name     - index name
221     section_name - SDATA section name
222     sdata_value  - sdata value
223     sdata_rowid  - rowid
224     part_name    - partition name
225 
226   NOTES
227 
228   EXCEPTIONS
229 */
230 
231 PROCEDURE upd_sdata(
232   idx_name      in varchar2,
233   section_name  in varchar2,
234   sdata_value   in sys.anydata,
235   sdata_rowid   in rowid,
236   part_name     in varchar2 default NULL
237 );
238 
239 /*----------------------- ins_del_mvdata --------------------------*/
240 /*
241   NAME
242     ins_del_mvdata
243 
244   DESCRIPTION
245     update a set of docids with given MVDATA values
246 
247   ARGUMENTS
248     ins_del       - dml mode flag (INS, DEL, UPD)
249     idx_name      - index name
250     section_name  - MVDATA section name
251     mvdata_values - mvdata values
252     mvdata_rowids - rowids
253     part_name     - partition name
254 
255   NOTES
256 
257   EXCEPTIONS
258 */
259 
260 PROCEDURE ins_del_mvdata(
261   ins_del      in varchar2,
262   idx_name     in varchar2,
263   section_name in varchar2,
264   mvdata_values in sys.odcinumberlist,
265   mvdata_rowids in sys.odciridlist,
266   part_name    in varchar2
267 );
268 
269 /*----------------- AddRemOneMDATA ------------------------------------*/
270 
271 procedure AddRemOneMDATA(
272   itab    in varchar2,
273   docid   in number,
274   mdataid in binary_integer,
275   addrem  in binary_integer,
276   value   in varchar2,
277   gtab    in varchar2 default null
278 );
279 
280 /*------------------------- idx_populate_mode ------------------------- */
281 FUNCTION idx_populate_mode
282 return number;
283 
284 PROCEDURE AddRemOneSDATA(
285   sntab   in varchar2,
286   docid   in number,
287   sdataid in binary_integer,
288   addrem  in binary_integer,
289   value   in varchar2
290 );
291 
292 PROCEDURE add_rem_sdata(
293   add_rem      in varchar2,
294   idx_name     in varchar2,
295   section_name in varchar2,
296   sdata_values in sys.odcivarchar2list,
297   sdata_rowids in sys.odciridlist,
298   part_name    in varchar2
299 );
300 end drvdml;