[Home] [Help]
PACKAGE: CTXSYS.CTX_QUERY
Source
1 package ctx_query authid current_user as
2
3 -- PREFERENCES FOR QUERY PROCESSING (INTERNAL USE ONLY)
4 preference number not null := 0;
5 always_batch constant number := 1;
6 order_by constant number := 2;
7 postfilter_batch constant number := 4;
8 sav_incmplt_prg_hitcnt constant number := 32;
9
10 -- FLAG for disable transactional query
11 disable_transactional_query boolean := FALSE;
12
13 -- PUBLIC DATA STRUCTURES
14 type BROWSE_REC is record
15 (
16 word VARCHAR2(256) NULL,
17 doc_count NUMBER(38,0) NULL
18 );
19
20 type BROWSE_TAB is table of BROWSE_REC index by binary_integer;
21
22 -- PUBLIC CONSTANTS
23 BROWSE_BEFORE constant varchar2(10) := 'BEFORE';
24 BROWSE_AROUND constant varchar2(10) := 'AROUND';
25 BROWSE_AFTER constant varchar2(10) := 'AFTER';
26
27 -- PUBLIC VARIABLES
28 result_set_document clob := NULL;
29 gen_rs_only_on_last_seq integer default 0;
30 gen_rs_only_if_last_seq integer default 0;
31
32 /*------------------------------- count_hits ----------------------------*/
33 /*
34 NAME
35 count_hits - get quick count of text results
36
37 DESCRIPTION
38 count text hits
39
40 ARGUMENTS
41 index_name (IN) index name being queried
42 text_query (IN) text query string
43 exact (IN) exact count or upper bound
44 part_name (IN) index partition name
45
46 NOTES
47 none
48
49 RETURNS
50 number of hits
51 */
52 FUNCTION count_hits (
53 index_name in varchar2
54 ,text_query in varchar2
55 ,exact in boolean default TRUE
56 ,part_name in varchar2 default NULL
57 ) return number;
58
59 FUNCTION count_hits_clob_query (
60 index_name in varchar2
61 ,text_query in clob
62 ,exact in boolean default TRUE
63 ,part_name in varchar2 default NULL
64 ) return number;
65
66
67 /*------------------------------- chk_xpath ----------------------------*/
68 /*
69 NAME
70 chk_xpath - check xpath expression
71
72 DESCRIPTION
73 takes an xpath expression and return an expression context can
74 process.
75
76 ARGUMENTS
77 index_name (IN) index name being queried
78 text_query (IN) xpath expression
79 part_name (IN) index partition name
80
81 NOTES
82 none
83
84 RETURNS
85 number of hits
86 */
87 FUNCTION chk_xpath (
88 index_name in varchar2
89 ,text_query in varchar2
90 ,part_name in varchar2 default NULL
91 ) return varchar2;
92
93 /*------------------------------- fcontains ----------------------------*/
94 /*
95 NAME
96 fcontains - functional contains
97
98 DESCRIPTION
99
100 ARGUMENTS
101 text_value (IN) text to search
102 text_query (IN) text query
103 policy_name (IN) policy name
104
105 NOTES
106 none
107
108 RETURNS
109 score
110 */
111 FUNCTION fcontains (
112 text_value in varchar2
113 ,text_query in varchar2
114 ,policy_name in varchar2
115 ) return number;
116
117 /*---------------------- chk_txnqry_disbl_switch --------------------------*/
118 /*
119 NAME
120 chk_txnqry_disbl_switch
121
122 DESCRIPTION
123
124 ARGUMENTS
125
126 NOTES
127 none
128
129 RETURNS
130 0 or 1
131 */
132 FUNCTION chk_txnqry_disbl_switch
133 return number;
134
135 /*------------------------------- store_sqe ----------------------------*/
136 /*
137 NAME
138 store_sqe
139
140 DESCRIPTION
141 Create a stored query
142
143 ARGUMENTS
144 query_name (IN) name of a stored query
145 text_query (IN) text query string
146 duration (IN) session or persistent duration
147 NOTES
148 EXCEPTIONS
149 ORA-20000 - application error ( with an textile error stack)
150 RETURNS
151 none
152 */
153
154 DURATION_PERSISTENT constant number := 0;
155 DURATION_SESSION constant number := 1;
156
157 PROCEDURE store_sqe(
158 query_name in varchar2
159 ,text_query in varchar2
160 ,duration in number default DURATION_PERSISTENT
161 );
162
163 PROCEDURE store_sqe_clob_query(
164 query_name in varchar2
165 ,text_query in clob
166 ,duration in number default DURATION_PERSISTENT
167 );
168
169 /* In-Memory Session Duration SQE */
170 TYPE sess_sqe_t is table of varchar2(32000) index by varchar2(64);
171 sess_sqe sess_sqe_t;
172
173 /*------------------------------- remove_sqe ----------------------------*/
174 /*
175 NAME
176 remove_sqe
177
178 DESCRIPTION
179 Delete a stored query
180
181 ARGUMENTS
182 query_name (IN) name of a stored query
183
184 NOTES
185
186 EXCEPTIONS
187 ORA-20000 - application error ( with an textile error stack)
188
189 RETURNS
190 none
191 */
192 PROCEDURE remove_sqe(
193 query_name in varchar2
194 );
195
196 /*------------------------------ explain ----------------------------------*/
197 /*
198 NAME
199 explain
200
201 DESCRIPTION
202 Evaluate the query specified in 'text_query' parameter and return
203 the Query Execution Plan in the feedback table. Do NOT execute the
204 query.
205
206 ARGUMENTS
207 index_name (IN) index name being queried
208 text_query (IN) ConText query string
209 explain_table (IN) the result table to receive the feedback result
210 sharelevel (IN) feedback table share options:
211 0 = single-use, 1 = multiple-use.
212 explain_id (IN) ID to identify results returned
213 part_name (IN) index partition name
214 NOTES
215 none
216 EXCEPTIONS
217 ORA-20000 - application error (with a textile error stack)
218 RETURNS
219 none
220 */
221 PROCEDURE explain(
222 index_name in varchar2,
223 text_query in varchar2,
224 explain_table in varchar2,
225 sharelevel in number default 0,
226 explain_id in varchar2 default NULL,
227 part_name in varchar2 default NULL
228 );
229 PRAGMA SUPPLEMENTAL_LOG_DATA(explain, AUTO);
230
231 PROCEDURE explain_clob_query(
232 index_name in varchar2,
233 text_query in clob,
234 explain_table in varchar2,
235 sharelevel in number default 0,
236 explain_id in varchar2 default NULL,
237 part_name in varchar2 default NULL
238 );
239
240 /*------------------------------ hfeedback ----------------------------------*/
241 /*
242 NAME
243 hfeedback
244
245 DESCRIPTION
246 Evaluate the query specified in 'text_query' parameter and return
247 the Hierarchical Query Feedback in the feedback table. Do NOT execute the
248 query.
249
250 ARGUMENTS
251 index_name (IN) index name being queried
252 text_query (IN) ConText query string
253 feedback_table (IN) the result table to receive the feedback result
254 sharelevel (IN) feedback table share options:
255 0 = single-use, 1 = multiple-use.
256 feedback_id (IN) ID to identify results returned
257 part_name (IN) index partition name
258 NOTES
259 none
260 EXCEPTIONS
261 ORA-20000 - application error (with a textile error stack)
262 RETURNS
263 none
264 */
265 PROCEDURE hfeedback(
266 index_name in varchar2,
267 text_query in varchar2,
268 feedback_table in varchar2,
269 sharelevel in number default 0,
270 feedback_id in varchar2 default NULL,
271 part_name in varchar2 default NULL
272 );
273 PRAGMA SUPPLEMENTAL_LOG_DATA(hfeedback, AUTO);
274
275 PROCEDURE hfeedback_clob_query(
276 index_name in varchar2,
277 text_query in clob,
278 feedback_table in varchar2,
279 sharelevel in number default 0,
280 feedback_id in varchar2 default NULL,
281 part_name in varchar2 default NULL
282 );
283 PRAGMA SUPPLEMENTAL_LOG_DATA(hfeedback_clob_query, AUTO);
284
285 /*------------------------------ browse_words ------------------------------*/
286 /*
287 NAME
288 browse_words
289
290 DESCRIPTION
291
292 ARGUMENTS
293 index_name (IN) index name being queried
294 seed (IN) seed word
295 restab (IN) the result table
296 browse_id (IN) ID to identify results returned
297 numwords (IN) length of the produced list
298 direction (IN) direction of the browse
299 part_name (IN) index partition name
300 token_type (IN) token type
301
302 NOTES
303
304 EXCEPTIONS
305
306 RETURNS
307 */
308 PROCEDURE browse_words(
309 index_name in varchar2,
310 seed in varchar2,
311 restab in varchar2,
312 browse_id in number default 0,
313 numwords in number default 10,
314 direction in varchar2 default BROWSE_AROUND,
315 part_name in varchar2 default NULL,
316 token_type in number default 0
317 );
318
319 /*------------------------------ browse_words ------------------------------*/
320 /*
321 NAME
322 browse_words
323
324 DESCRIPTION
325
326 ARGUMENTS
327 index_name (IN) index name being queried
328 seed (IN) seed word
329 resarr (IN OUT) PL/SQL array
330 numwords (IN) length of the produced list
331 direction (IN) direction of the browse
332 part_name (IN) index partition name
333 token_type (IN) token type
334 NOTES
335
336 EXCEPTIONS
337
338 RETURNS
339 */
340 PROCEDURE browse_words(
341 index_name in varchar2,
342 seed in varchar2,
343 resarr in out NOCOPY BROWSE_TAB,
344 numwords in number default 10,
345 direction in varchar2 default BROWSE_AROUND,
346 part_name in varchar2 default NULL,
347 token_type in number default 0
348 );
349
350 /*------------------------------ result_set ---------------------------------*/
351 /*
352 NAME
353 result_set
354
355 DESCRIPTION
356
357 ARGUMENTS
358 index_name (IN) index name being queried
359 query (IN) text query
360 result_set_descriptor (IN) result set descriptor
361 result_set (IN OUT) result set
362 part_name (IN) index partition name
363 NOTES
364
365 EXCEPTIONS
366
367 RETURNS
368 */
369 PROCEDURE result_set(
370 index_name in varchar2,
371 query in varchar2,
372 result_set_descriptor in clob,
373 result_set in out nocopy clob,
374 part_name in varchar2 default NULL
375 );
376
377 PROCEDURE result_set_clob_query(
378 index_name in varchar2,
379 query in clob,
380 result_set_descriptor in clob,
381 result_set in out nocopy clob,
382 part_name in varchar2 default NULL
383 );
384
385 end ctx_query;