![]()  | 
  
    MySQL 8.4.7
    
   Source Code Documentation 
   | 
 
The cache for the FTS system. More...
#include <fts0types.h>
Public Attributes | |
| rw_lock_t | lock | 
| lock protecting all access to the memory buffer.  More... | |
| rw_lock_t | init_lock | 
| lock used for the cache initialization, it has different SYNC level as above cache lock  More... | |
| ib_mutex_t | optimize_lock | 
| Lock for OPTIMIZE.  More... | |
| ib_mutex_t | deleted_lock | 
| Lock covering deleted_doc_ids.  More... | |
| ib_mutex_t | doc_id_lock | 
| Lock covering Doc ID.  More... | |
| ib_vector_t * | deleted_doc_ids | 
| Array of deleted doc ids, each element is of type fts_update_t.  More... | |
| ib_vector_t * | indexes | 
| We store the stats and inverted index for the individual FTS indexes in this vector.  More... | |
| ib_vector_t * | get_docs | 
| information required to read the document from the table.  More... | |
| ulint | total_size | 
| total size consumed by the ilist field of all nodes.  More... | |
| uint64_t | total_size_before_sync | 
| total size of fts cache, when last SYNC request was sent  More... | |
| fts_sync_t * | sync | 
| sync structure to sync data to disk  More... | |
| ib_alloc_t * | sync_heap | 
| The heap allocator, for indexes and deleted_doc_ids, ie.  More... | |
| ib_alloc_t * | self_heap | 
| This heap is the heap out of which an instance of the cache itself was created.  More... | |
| doc_id_t | next_doc_id | 
| Next doc id.  More... | |
| doc_id_t | synced_doc_id | 
| Doc ID sync-ed to CONFIG table.  More... | |
| doc_id_t | first_doc_id | 
| first doc id since this table was opened  More... | |
| ulint | deleted | 
| Number of doc ids deleted since last optimized.  More... | |
| ulint | added | 
| Number of doc ids added since last optimized.  More... | |
| fts_stopword_t | stopword_info | 
| Cached stopwords for the FTS.  More... | |
| mem_heap_t * | cache_heap | 
| Cache Heap.  More... | |
The cache for the FTS system.
It is a memory-based inverted index that new entries are added to, until it grows over the configured maximum size, at which time its contents are written to the INDEX table.
| ulint fts_cache_t::added | 
Number of doc ids added since last optimized.
This variable is covered by the deleted lock
| mem_heap_t* fts_cache_t::cache_heap | 
Cache Heap.
| ulint fts_cache_t::deleted | 
Number of doc ids deleted since last optimized.
This variable is covered by deleted_lock
| ib_vector_t* fts_cache_t::deleted_doc_ids | 
Array of deleted doc ids, each element is of type fts_update_t.
| ib_mutex_t fts_cache_t::deleted_lock | 
Lock covering deleted_doc_ids.
| ib_mutex_t fts_cache_t::doc_id_lock | 
Lock covering Doc ID.
| doc_id_t fts_cache_t::first_doc_id | 
first doc id since this table was opened
| ib_vector_t* fts_cache_t::get_docs | 
information required to read the document from the table.
Each element is of type fts_doc_t
| ib_vector_t* fts_cache_t::indexes | 
We store the stats and inverted index for the individual FTS indexes in this vector.
Each element is an instance of fts_index_cache_t
| rw_lock_t fts_cache_t::init_lock | 
lock used for the cache initialization, it has different SYNC level as above cache lock
| rw_lock_t fts_cache_t::lock | 
lock protecting all access to the memory buffer.
FIXME: this needs to be our new upgrade-capable rw-lock
| doc_id_t fts_cache_t::next_doc_id | 
Next doc id.
| ib_mutex_t fts_cache_t::optimize_lock | 
Lock for OPTIMIZE.
| ib_alloc_t* fts_cache_t::self_heap | 
This heap is the heap out of which an instance of the cache itself was created.
Objects created using this heap will last for the lifetime of the cache
| fts_stopword_t fts_cache_t::stopword_info | 
Cached stopwords for the FTS.
| fts_sync_t* fts_cache_t::sync | 
sync structure to sync data to disk
| ib_alloc_t* fts_cache_t::sync_heap | 
The heap allocator, for indexes and deleted_doc_ids, ie.
transient objects, they are recreated after a SYNC is completed
| doc_id_t fts_cache_t::synced_doc_id | 
Doc ID sync-ed to CONFIG table.
| ulint fts_cache_t::total_size | 
total size consumed by the ilist field of all nodes.
SYNC is run whenever this gets too big
| uint64_t fts_cache_t::total_size_before_sync | 
total size of fts cache, when last SYNC request was sent