MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
fts0types.h
Go to the documentation of this file.
1 /*****************************************************************************
2 
3 Copyright (c) 2007, 2011, Oracle and/or its affiliates. All Rights Reserved.
4 
5 This program is free software; you can redistribute it and/or modify it under
6 the terms of the GNU General Public License as published by the Free Software
7 Foundation; version 2 of the License.
8 
9 This program is distributed in the hope that it will be useful, but WITHOUT
10 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
12 
13 You should have received a copy of the GNU General Public License along with
14 this program; if not, write to the Free Software Foundation, Inc.,
15 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
16 
17 *****************************************************************************/
18 
19 /******************************************************************/
26 #ifndef INNOBASE_FTS0TYPES_H
27 #define INNOBASE_FTS0TYPES_H
28 
29 #include "que0types.h"
30 #include "ut0byte.h"
31 #include "fut0fut.h"
32 #include "ut0rbt.h"
33 #include "fts0fts.h"
34 
36 struct fts_que_t;
37 struct fts_node_t;
38 struct fts_utf8_str_t;
39 
42 typedef void (*fts_filter)(void*, fts_node_t*, void*, ulint len);
43 
47  ulint word_count;
48 };
49 
52 struct fts_get_doc_t {
57  que_t* get_document_graph;
59 };
60 
80 };
81 
85 struct fts_update_t {
94 };
95 
98  ulint status;
102 };
103 
106 struct fts_sync_t {
111  ibool cache_full;
113  ulint lower_index;
116  ulint upper_index;
118  ibool interrupted;
126 };
127 
131 struct fts_cache_t {
158  ulint total_size;
182  ulint deleted;
186  ulint added;
192 };
193 
195 struct fts_node_t {
200  byte* ilist;
208  ulint doc_count;
210  ulint ilist_size;
212  ulint ilist_size_alloc;
215 };
216 
223 };
224 
226 struct fts_word_t {
231 };
232 
234 struct fts_fetch_t {
235  void* read_arg;
240 };
241 
244  ulint value;
247  const char* suffix;
248 };
249 
251 struct fts_doc_t {
254  ibool found;
268 };
269 
271 struct fts_token_t {
277 };
278 
281 
282 /******************************************************************/
284 UNIV_INLINE
285 int
287 /*================*/
292  const void* p1,
293  const void* p2);
295 /******************************************************************/
298 UNIV_INLINE
299 int
301 /*=======================*/
306  const void* p1,
307  const void* p2);
309 /******************************************************************/
311 UNIV_INLINE
312 int
314 /*===================*/
319  const void* p1,
320  const void* p2);
322 /******************************************************************/
324 UNIV_INLINE
325 int
327 /*===================*/
332  const void* p1,
333  const void* p2);
335 /******************************************************************/
337 UNIV_INLINE
338 int
340 /*==================*/
345  const void* p1,
346  const void* p2);
348 /******************************************************************/
350 UNIV_INLINE
351 ulint
353 /*===========*/
355  byte** ptr);
358 /******************************************************************/
360 UNIV_INLINE
361 void
363 /*================*/
368  fts_string_t* dst,
369  const fts_string_t* src,
370  mem_heap_t* heap);
372 /******************************************************************/
374 UNIV_INLINE
375 ulint
377 /*================*/
380  ulint val);
382 /******************************************************************/
384 UNIV_INLINE
385 ulint
387 /*===========*/
390  ulint val,
391  byte* buf);
394 /******************************************************************/
409 UNIV_INLINE
410 ulint
412 /*============*/
417  const byte** ptr);
423 /******************************************************************/
425 UNIV_INLINE
426 void
428 /*=============*/
429  fts_string_t* str);
431 /******************************************************************/
433 UNIV_INLINE
434 const char*
436 /*===========*/
437  ulint selected);
439 /********************************************************************
440 Get the number of index selectors. */
441 UNIV_INLINE
442 ulint
443 fts_get_n_selectors(void);
444 /*=====================*/
445 
446 /******************************************************************/
449 UNIV_INLINE
450 ulint
452 /*=============*/
453  const CHARSET_INFO* cs,
454  const byte* str,
455  ulint len);
457 /********************************************************************
458 Select the next FTS auxiliary index for the given character.
459 @return the next index to use for character */
460 UNIV_INLINE
461 ulint
463 /*==================*/
464  const CHARSET_INFO* cs,
465  const byte* str,
466  ulint len);
468 #ifndef UNIV_NONINL
469 #include "fts0types.ic"
470 #include "fts0vlc.ic"
471 #endif
472 
473 #endif /* INNOBASE_FTS0TYPES_H */