DBA Data[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;