[Home] [Help]
PACKAGE: CTXSYS.DRIDML
Source
1 package dridml
2 is
3
4 LOCK_WAIT constant number := null;
5 LOCK_NOWAIT constant number := 0;
6 IGNORE_ERRORS constant boolean := TRUE;
7
8 /*--------------------------- deregister --------------------------------*/
9 /*
10 NAME
11 DEREGISTER(cid) - deregister the given column with DML queue,
12
13 DESCRIPTION
14 This procedure discontinues queueing of updates to the DML
15 queue. It also flushes any pending requests, and waits for any
16 in-progress requests to complete
17 ARGUMENTS
18 CID - the column id to register
19 unlock - unlock DML afterwards?
20 zap_online_pending -- clear dr$online_pending
21 */
22 procedure DEREGISTER(cid number, unlock in boolean default TRUE,
23 part_id number default 0,
24 part_name in varchar2 default null,
25 zap_online_pending in boolean default TRUE);
26
27 /*------------------------------ lock_dml --------------------------------*/
28 /*
29 NAME
30 lock_dml
31
32 DESCRIPTION
33 lock dml for a column
34
35 ARGUMENTS
36 cid -- cid to lock
37 timeout -- if non-null, timeout
38 pid -- partition id
39
40 RETURNS
41 0 on success, 1 on timeout
42
43 NOTES
44 This does not block out incoming DML reindex requests.
45 */
46 function lock_dml_ret(
47 cid in number,
48 pid in number,
49 timeout in number
50 ) return number;
51
52 procedure lock_dml(
53 cid in number,
54 pid in number,
55 timeout in number
56 );
57
58 /*------------------------- lock_dml_all_part ----------------------------*/
59 /* NOTE: gets multiple locks. If fails, it's up to calling procedure to */
60 /* release any locks it may have gotten */
61 procedure lock_dml_all_part(
62 cid in number
63 );
64
65 /*----------------------------- unlock_dml ------------------------------*/
66 /*
67 NAME
68 UNLOCK_DML
69
70 DESCRIPTION
71 Unlock the DML queue
72
73 ARGUMENTS
74 ignore_errors - don't flag any errors
75 */
76 procedure unlock_dml(
77 ignore_errors in boolean default false
78 );
79
80 /*------------------------ unlock_dml_all_part ---------------------------*/
81
82 procedure unlock_dml_all_part(
83 ignore_errors in boolean default false
84 );
85
86 /* 5364449: Removed get_dml */
87
88 /*--------------------------- ClearOnlinePending ------------------------*/
89
90 procedure ClearOnlinePending(
91 p_idxid in number,
92 index_partition in varchar2 default NULL
93 );
94
95 /*--------------------------- ExchangePending ---------------------------*/
96 /* exchange all rows in dr$pending, dr$waiting, etc. for exchange partition */
97
98 procedure ExchangePending(
99 p_idxid1 in number,
100 p_ixpid1 in number,
101 p_idxid2 in number
102 );
103
104 /*------------------------- delete_dup_waiting ----------------------------*/
105 /* eliminate duplicate dr$waiting rows */
106
107 procedure delete_dup_waiting(cid in number, pid in number);
108
109 /*------------------------- open_waiting_cur ----------------------------*/
110 /* open cursor on dr$waiting */
111
112 procedure open_waiting_cur(cid in number, pid in number);
113
114 /*------------------------- fetch_waiting_cur ----------------------------*/
115 /* fetch row from waiting cursor */
116
117 function fetch_waiting_cur(rid out rowid, wrid out urowid) return number;
118
119 /*------------------------- insert_pending -------------------------------*/
120 /* insert a row into dr$pending */
121
122 procedure insert_pending(
123 cid in number,
124 pid in number,
125 rid in rowid,
126 wrid in urowid default null
127 );
128
129 /*-------------------------- DeletePending -------------------------*/
130
131 procedure DeletePending (
132 p_idxid in number,
133 p_ixpid in number,
134 p_rid in rowid
135 );
136
137 /*-------------------------- DeletePendingArr ----------------------*/
138
139 procedure DeletePendingArr (
140 p_idxid in number,
141 p_ixpid in number,
142 p_rid in dr_def.rowid_tab
143 );
144
145 /*-------------------------- SetLockFailed -------------------------*/
146
147 procedure SetLockFailed (
148 p_idxid in number,
149 p_ixpid in number,
150 p_rid in rowid
151 );
152
153 /*-------------------------- HasPending ----------------------------*/
154
155 function HasPending (
156 p_idxid in number,
157 p_ixpid in number
158 ) return boolean;
159
160 /*-------------------------- CleanDelete ---------------------------*/
161
162 procedure CleanDelete (
163 p_idxid in number,
164 p_ixpid in number
165 );
166
167 /*-------------------------- PopulatePendingRowid ---------------------------*/
168
169 procedure PopulatePendingRowid (
170 p_idxid in number,
171 p_ixpid in number,
172 p_rowid in varchar2
173 );
174
175 /*-------------------------- lock_autosync_ret --------------------------*/
176 function lock_autosync_ret(
177 cid in number,
178 pid in number,
179 timeout in number
180 ) return number;
181
182 /*---------------------------- lock_autosync ----------------------------*/
183 procedure lock_autosync(
184 cid in number,
185 pid in number,
186 timeout in number
187 );
188
189 /*--------------------------- unlock_autosync ---------------------------*/
190 procedure unlock_autosync(
191 ignore_errors in boolean default false
192 );
193
194 end dridml;