57#define FTS_DOC_ID_COL_NAME "FTS_DOC_ID" 
   60#define FTS_DOC_ID_INDEX_NAME "FTS_DOC_ID_INDEX" 
   62#define FTS_DOC_ID_INDEX_NAME_LEN 16 
   65#define FTS_DOC_ID_LEN 8 
   69#define FTS_NUM_FIELDS_SORT 3 
   73#define MAX_DOC_ID_OPT_VAL 1073741824 
   79#define FTS_DOC_ID_FORMAT IB_ID_FMT 
   82#define fts_write_doc_id(d, s) mach_write_to_8(d, s) 
   85#define fts_read_doc_id(s) mach_read_from_8(s) 
   88#define fts_bind_doc_id(i, n, v) pars_info_bind_int8_literal(i, n, v) 
   96#define FTS_NO_RANKING 8 
   97#define FTS_PROXIMITY 16 
   99#define FTS_OPT_RANKING 64 
  101#define FTS_INDEX_TABLE_IND_NAME "FTS_INDEX_TABLE_IND" 
  102#define FTS_COMMON_TABLE_IND_NAME "FTS_COMMON_TABLE_IND" 
  114#define FTS_OPTIMIZE_THRESHOLD 10000000 
  118#define FTS_DOC_ID_MAX_STEP 65535 
  121#define FTS_MAX_WORD_LEN HA_FT_MAXBYTELEN 
  124#define FTS_MAX_WORD_LEN_IN_CHAR HA_FT_MAXCHARLEN 
  127#define FTS_DELETED_TABLE_NUM_COLS 1 
  128#define FTS_CONFIG_TABLE_NUM_COLS 2 
  129#define FTS_AUX_INDEX_TABLE_NUM_COLS 5 
  132#define FTS_DELETED_TABLE_COL_LEN 8 
  134#define FTS_CONFIG_TABLE_KEY_COL_LEN 50 
  135#define FTS_CONFIG_TABLE_VALUE_COL_LEN 200 
  137#define FTS_INDEX_WORD_LEN FTS_MAX_WORD_LEN 
  138#define FTS_INDEX_FIRST_DOC_ID_LEN 8 
  139#define FTS_INDEX_LAST_DOC_ID_LEN 8 
  140#define FTS_INDEX_DOC_COUNT_LEN 4 
  142#define FTS_INDEX_ILIST_LEN 0 
  144#define FTS_MAX_NESTED_EXP 31 
  208#define FTS_INIT_FTS_TABLE(fts_table, m_suffix, m_type, m_table) \ 
  210    (fts_table)->suffix = m_suffix;                              \ 
  211    (fts_table)->type = m_type;                                  \ 
  212    (fts_table)->table_id = m_table->id;                         \ 
  213    (fts_table)->parent = m_table->name.m_name;                  \ 
  214    (fts_table)->table = m_table;                                \ 
  217#define FTS_INIT_INDEX_TABLE(fts_table, m_suffix, m_type, m_index) \ 
  219    (fts_table)->suffix = m_suffix;                                \ 
  220    (fts_table)->type = m_type;                                    \ 
  221    (fts_table)->table_id = m_index->table->id;                    \ 
  222    (fts_table)->parent = m_index->table->name.m_name;             \ 
  223    (fts_table)->table = m_index->table;                           \ 
  224    (fts_table)->index_id = m_index->id;                           \ 
  406#define STOPWORD_NOT_INIT 0x1 
  407#define STOPWORD_OFF 0x2 
  408#define STOPWORD_FROM_DEFAULT 0x4 
  409#define STOPWORD_USER_TABLE 0x8 
  436#define fts_que_graph_free(graph) \ 
  438    que_graph_free(graph);        \ 
  524                                               bool skip_doc_id_index);
 
  601                                const byte *query_str, 
ulint query_len,
 
  744                                ulint aux_table_len);
 
  777                                      size_t src_len, 
char *dst,
 
  826    const char *stopword_table_name); 
 
  833    const char *global_stopword_table,  
 
  835    const char *session_stopword_table, 
 
  854                    bool has_cache_lock); 
 
  874                              const char *new_name, 
 
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:36
 
The state of the FTS sub system.
Definition: fts0fts.h:364
 
fts_cache_t * cache
FTS memory buffer for this table, or NULL if the table has no FTS index.
Definition: fts0fts.h:391
 
ulint bg_threads
Number of background threads accessing this table.
Definition: fts0fts.h:378
 
mem_heap_t * fts_heap
Heap for fts_t allocation.
Definition: fts0fts.h:400
 
~fts_t()
fts_t destructor.
Definition: fts0fts.cc:5472
 
ib_mutex_t bg_threads_mutex
Mutex protecting bg_threads* and fts_add_wq.
Definition: fts0fts.h:375
 
ulint doc_col
FTS doc id hidden column number in the CLUSTERED index.
Definition: fts0fts.h:394
 
ib_wqueue_t * add_wq
Work queue for scheduling jobs for the FTS 'Add' thread, or NULL if the thread has not yet been creat...
Definition: fts0fts.h:387
 
ulint fts_status
Status bit regarding fts running state.
Definition: fts0fts.h:382
 
fts_t(dict_table_t *table, mem_heap_t *heap)
fts_t constructor.
Definition: fts0fts.cc:5453
 
ib_vector_t * indexes
Vector of FTS indexes, this is mainly for caching purposes.
Definition: fts0fts.h:397
 
dberr_t
Definition: db0err.h:39
 
Data dictionary global types.
 
ib_id_t space_index_t
Index identifier (unique within a tablespace).
Definition: dict0types.h:223
 
ib_id_t table_id_t
Table or partition identifier (unique within an InnoDB instance).
Definition: dict0types.h:221
 
Some definitions for full-text indices.
 
size_t innobase_fts_casedn_str(CHARSET_INFO *cs, char *src, size_t src_len, char *dst, size_t dst_len)
Makes all characters in a string lower case.
Definition: ha_innodb.cc:8105
 
const char * FTS_SUFFIX_CONFIG_5_7
Definition: fts0fts.cc:149
 
fts_trx_t * fts_trx_create(trx_t *trx)
Create an FTS trx.
Definition: fts0fts.cc:2494
 
dberr_t fts_create_index_tables(trx_t *trx, dict_index_t *index)
Creates the column specific ancillary tables needed for supporting an FTS index on the given table.
Definition: fts0fts.cc:2348
 
int fts_tokenize_document_internal(MYSQL_FTPARSER_PARAM *param, char *doc, int len)
FULLTEXT tokenizer internal in MYSQL_FTPARSER_SIMPLE_MODE.
Definition: fts0fts.cc:4745
 
dberr_t fts_create_doc_id(dict_table_t *table, dtuple_t *row, mem_heap_t *heap)
Create a new document id.
Definition: fts0fts.cc:3175
 
uint64_t doc_id_t
Document id type.
Definition: fts0fts.h:76
 
float fts_retrieve_ranking(fts_result_t *result, doc_id_t doc_id)
Retrieve the FTS Relevance Ranking result for doc with doc_id.
Definition: fts0que.cc:3310
 
void fts_query_sort_result_on_rank(fts_result_t *result)
FTS Query sort result, returned by fts_query() on fts_ranking_t::rank.
Definition: fts0que.cc:3843
 
void fts_startup(void)
FTS initialize.
 
void fts_optimize_request_sync_table(dict_table_t *table)
Send sync fts cache for the table.
Definition: fts0opt.cc:2571
 
dberr_t fts_upgrade_aux_tables(dict_table_t *table)
Upgrade FTS AUX Tables.
Definition: fts0fts.cc:6405
 
void fts_optimize_shutdown()
Shutdown fts optimize thread.
Definition: fts0opt.cc:3024
 
dberr_t fts_create_index_dd_tables(dict_table_t *table)
Check if a table has FTS index needs to have its auxiliary index tables' metadata updated in DD.
Definition: fts0fts.cc:2263
 
fts_doc_ids_t * fts_doc_ids_create(void)
Create a new fts_doc_ids_t.
Definition: fts0fts.cc:3021
 
void fts_add_doc_id_column(dict_table_t *table, mem_heap_t *heap)
Add the FTS document id hidden column.
Definition: fts0fts.cc:5389
 
const char * FTS_SUFFIX_BEING_DELETED_CACHE
Definition: fts0fts.cc:139
 
doc_id_t fts_update_doc_id(dict_table_t *table, upd_field_t *ufield, doc_id_t *next_doc_id)
Add new fts doc id to the update vector.
Definition: fts0fts.cc:5411
 
ulong fts_result_cache_limit
Variable specifying the FTS result cache limit for each query.
Definition: fts0fts.cc:86
 
void fts_add_doc_from_tuple(fts_trx_table_t *ftt, doc_id_t doc_id, const dtuple_t *tuple)
Fetch the document from tuple, tokenize the text data and insert the text data into fts auxiliary tab...
Definition: fts0fts.cc:3550
 
const char * fts_default_stopword[]
InnoDB default stopword list: There are different versions of stopwords, the stop words listed below ...
Definition: fts0fts.cc:120
 
dberr_t fts_get_next_doc_id(const dict_table_t *table, doc_id_t *doc_id)
Get the next available document id.
Definition: fts0fts.cc:2785
 
fts_index_cache_t * fts_cache_index_cache_create(dict_table_t *table, dict_index_t *index)
Create a FTS index cache.
Definition: fts0fts.cc:831
 
dberr_t fts_query(trx_t *trx, dict_index_t *index, uint flags, const byte *query_str, ulint query_len, fts_result_t **result, ulonglong limit)
FTS Query entry point.
Definition: fts0que.cc:3612
 
void fts_savepoint_rollback(trx_t *trx, const char *name)
Rollback to and including savepoint identified by name.
Definition: fts0fts.cc:5755
 
bool fts_drop_dd_tables(const aux_name_vec_t *aux_vec, bool file_per_table)
Drop FTS AUX table DD table objects in vector.
Definition: fts0fts.cc:1249
 
bool fts_check_common_tables_exist(const dict_table_t *table)
Check if common tables already exist.
Definition: fts0fts.cc:1882
 
doc_id_t fts_get_max_doc_id(dict_table_t *table)
Get maximum Doc ID in a table if index "FTS_DOC_ID_INDEX" exists.
Definition: fts0fts.cc:3804
 
void fts_add_index(dict_index_t *index, dict_table_t *table)
Add a newly create index in FTS cache.
Definition: fts0fts.cc:586
 
char * fts_internal_tbl_name
Variable specifying the table that has Fulltext index to display its content through information sche...
Definition: fts0fts.cc:112
 
const char * FTS_SUFFIX_CONFIG
Definition: fts0fts.cc:140
 
void fts_savepoint_take(fts_trx_t *fts_trx, const char *name)
Take a FTS savepoint.
Definition: fts0fts.cc:5571
 
enum fts_status fts_status_t
Definition: fts0fts.h:361
 
void fts_cache_index_cache_remove(dict_table_t *table, dict_index_t *index)
Remove a FTS index cache.
Definition: fts0fts.cc:875
 
void fts_optimize_init(void)
Startup the optimize thread and create the work queue.
Definition: fts0opt.cc:3007
 
void fts_trx_free(fts_trx_t *fts_trx)
Free an FTS trx.
Definition: fts0fts.cc:5176
 
constexpr doc_id_t FTS_NULL_DOC_ID
"NULL" value of a document id.
Definition: fts0fts.h:105
 
void fts_update_next_doc_id(trx_t *trx, const dict_table_t *table, const char *table_name, doc_id_t doc_id)
Update the next and last Doc ID in the CONFIG table to be the input "doc_id" value (+ 1).
Definition: fts0fts.cc:2768
 
dberr_t fts_optimize_table(dict_table_t *table)
Run OPTIMIZE on the given table.
Definition: fts0opt.cc:2391
 
ulong fts_max_cache_size
Variable specifying the maximum FTS cache size for each table.
Definition: fts0fts.cc:75
 
void fts_free_aux_names(aux_name_vec_t *aux_vec)
Free FTS AUX table names in vector.
Definition: fts0fts.cc:1271
 
void fts_savepoint_release(trx_t *trx, const char *name)
Release the savepoint data identified by name.
Definition: fts0fts.cc:5617
 
doc_id_t fts_init_doc_id(const dict_table_t *table)
Get the initial Doc ID by consulting the CONFIG table.
Definition: fts0fts.cc:4949
 
dberr_t fts_sync_table(dict_table_t *table, bool unlock_cache, bool wait, bool has_dict)
Run SYNC on the table, i.e., write out data from the cache to the FTS auxiliary INDEX table and clear...
Definition: fts0fts.cc:4512
 
fts_t * fts_create(dict_table_t *table)
Create an instance of fts_t.
Definition: fts0fts.cc:5489
 
ulong fts_max_token_size
Variable specifying the maximum FTS max token size.
Definition: fts0fts.cc:89
 
void fts_doc_ids_free(fts_doc_ids_t *doc_ids)
Free a fts_doc_ids_t.
Definition: fts0fts.cc:3037
 
dberr_t fts_drop_index(dict_table_t *table, dict_index_t *index, trx_t *trx, aux_name_vec_t *aux_vec, bool adding_another=false)
Drop auxiliary tables related to an FTS index.
Definition: fts0fts.cc:718
 
fts_table_type_t
The FTS table types.
Definition: fts0fts.h:188
 
@ FTS_INDEX_TABLE
FTS auxiliary table that is specific to a particular FTS index on a table.
Definition: fts0fts.h:189
 
@ FTS_OBSOLETED_TABLE
FTS obsoleted tables like DOC_ID, ADDED, STOPWORDS.
Definition: fts0fts.h:196
 
@ FTS_COMMON_TABLE
FTS auxiliary table that is common for all FTS index on a table.
Definition: fts0fts.h:193
 
bool innobase_fts_drop_dd_table(const char *name, bool file_per_table)
Drop dd table & tablespace for fts aux table.
 
bool fts_load_stopword(const dict_table_t *table, trx_t *trx, const char *global_stopword_table, const char *session_stopword_table, bool stopword_is_on, bool reload)
This function loads specified stopword into FTS cache.
Definition: fts0fts.cc:6004
 
int innobase_fts_text_cmp_prefix(const void *cs, const void *p1, const void *p2)
Compare two character string according to their charset.
Definition: ha_innodb.cc:8084
 
void fts_cache_init(fts_cache_t *cache)
Initialize things in cache.
Definition: fts0fts.cc:504
 
dberr_t fts_create_index_tables_low(trx_t *trx, dict_index_t *index, const char *table_name, table_id_t table_id)
Create auxiliary index tables for an FTS index.
Definition: fts0fts.cc:2285
 
int innobase_fts_text_cmp(const void *cs, const void *p1, const void *p2)
Compare two character string according to their charset.
Definition: ha_innodb.cc:8011
 
doc_id_t fts_get_doc_id_from_row(dict_table_t *table, dtuple_t *row)
Extract the doc id from the FTS hidden column.
Definition: fts0fts.cc:5215
 
bool fts_check_cached_index(dict_table_t *table)
Check indexes in the fts->indexes is also present in index cache and table->indexes list.
Definition: fts0fts.cc:681
 
dberr_t fts_drop_tables(trx_t *trx, dict_table_t *table, aux_name_vec_t *aux_vec)
Drops the ancillary tables needed for supporting an FTS index on a given table.
Definition: fts0fts.cc:1656
 
doc_id_t fts_get_doc_id_from_rec(dict_table_t *table, const rec_t *rec, const dict_index_t *index, mem_heap_t *heap)
Extract the doc id from the record that belongs to index.
Definition: fts0fts.cc:5240
 
bool fts_init_index(dict_table_t *table, bool has_cache_lock)
This function brings FTS index in sync when FTS index is first used.
Definition: fts0fts.cc:6255
 
bool fts_create_common_dd_tables(const dict_table_t *table)
Update DD system table for auxiliary common tables for an FTS index.
Definition: fts0fts.cc:2189
 
ulint fts_get_rows_count(fts_table_t *fts_table)
Fetch COUNT(*) from specified table.
Definition: fts0fts.cc:5015
 
bool fts_need_sync
Whether the total memory used for FTS cache is exhausted, and we will need a sync to free some memory...
Definition: fts0fts.cc:79
 
const char * FTS_SUFFIX_BEING_DELETED
Definition: fts0fts.cc:138
 
bool fts_enable_diag_print
Variable specifying whether we do additional FTS diagnostic printout in the log.
Definition: fts0opt.cc:261
 
dberr_t fts_drop_index_tables(trx_t *trx, dict_index_t *index, aux_name_vec_t *aux_vec)
Since we do a horizontal split on the index table, we need to drop all the split tables.
Definition: fts0fts.cc:1495
 
dberr_t fts_rename_aux_tables(dict_table_t *table, const char *new_name, trx_t *trx, bool replay)
Rename auxiliary tables for all fts index for a table.
Definition: fts0fts.cc:1398
 
constexpr size_t FTS_NUM_AUX_INDEX
The number of FTS index partitions for a fulltext index.
Definition: fts0fts.h:108
 
void fts_detach_aux_tables(const dict_table_t *table, bool dict_locked)
Allow all the auxiliary tables of specified base table to be evictable if they exist,...
Definition: fts0fts.cc:2124
 
const char * FTS_PREFIX
FTS auxiliary table prefix that are common to all FT indexes.
Definition: fts0fts.cc:128
 
void fts_optimize_remove_table(dict_table_t *table)
Remove the table from the OPTIMIZER's list.
Definition: fts0opt.cc:2541
 
dberr_t fts_create_common_tables(trx_t *trx, const dict_table_t *table, const char *name, bool skip_doc_id_index)
Creates the common auxiliary tables needed for supporting an FTS index on the given table.
Definition: fts0fts.cc:1930
 
ulong fts_min_token_size
Variable specifying the minimum FTS max token size.
Definition: fts0fts.cc:92
 
CHARSET_INFO * fts_index_get_charset(dict_index_t *index)
Create an FTS index cache.
Definition: fts0fts.cc:796
 
fts_cache_t * fts_cache_create(dict_table_t *table)
Create a FTS cache.
Definition: fts0fts.cc:533
 
fts_status
Definition: fts0fts.h:345
 
@ BG_THREAD_STOP
true if the FTS background thread has finished reading the ADDED table, meaning more items can be add...
Definition: fts0fts.h:346
 
@ BG_THREAD_READY
true if the FTS background thread is ready
Definition: fts0fts.h:351
 
@ ADDED_TABLE_SYNCED
true if the ADDED table record is sync-ed after crash recovery
Definition: fts0fts.h:357
 
@ ADD_THREAD_STARTED
true if the FTS add thread has started
Definition: fts0fts.h:354
 
CHARSET_INFO * fts_valid_stopword_table(const char *stopword_table_name)
Check whether user supplied stopword table exists and is of the right format.
Definition: fts0fts.cc:5943
 
dberr_t fts_upgrade_rename(const dict_table_t *table, bool rollback)
Rename FTS AUX tablespace name from 8.0 format to 5.7 format.
Definition: fts0fts.cc:6509
 
dberr_t fts_lock_all_aux_tables(THD *thd, dict_table_t *table)
Lock all FTS AUX tables (for dropping table)
Definition: fts0fts.cc:1755
 
const char * FTS_PREFIX_5_7
FTS auxiliary table prefix that are common to all FT indexes.
Definition: fts0fts.cc:131
 
dberr_t fts_commit(trx_t *trx)
The given transaction is about to be committed; do whatever is necessary from the FTS system's POV.
Definition: fts0fts.cc:3274
 
void fts_cache_clear(fts_cache_t *cache)
Clear cache.
Definition: fts0fts.cc:926
 
void fts_freeze_aux_tables(const dict_table_t *table)
Freeze all auiliary tables to be not evictable if exist, with dict_mutex held.
Definition: fts0fts.cc:2070
 
dberr_t fts_empty_common_tables(trx_t *trx, dict_table_t *table)
Empty all common talbes.
Definition: fts0fts.cc:1592
 
char * fts_get_parent_table_name(const char *aux_table_name, ulint aux_table_len)
 
ulong fts_max_total_cache_size
Variable specifying the total memory allocated for FTS cache.
Definition: fts0fts.cc:82
 
void fts_savepoint_rollback_last_stmt(trx_t *trx)
Rollback to and including savepoint identified by name.
Definition: fts0fts.cc:5715
 
void fts_savepoint_laststmt_refresh(trx_t *trx)
Refresh last statement savepoint.
Definition: fts0fts.cc:5654
 
void fts_free(dict_table_t *table)
Free the FTS resources.
Definition: fts0fts.cc:5504
 
ulong fts_num_word_optimize
Variable specifying the number of word to optimize for each optimize table call.
Definition: fts0opt.cc:258
 
ulint innobase_mysql_fts_get_token(CHARSET_INFO *charset, const byte *start, const byte *end, fts_string_t *token)
Get the next token from the given string and store it in *token.
Definition: ha_innodb.cc:8126
 
float fts_rank_t
FTS rank type, which will be between 0 .
Definition: fts0fts.h:165
 
const char * FTS_SUFFIX_DELETED
Definition: fts0fts.cc:141
 
dberr_t fts_table_fetch_doc_ids(trx_t *trx, fts_table_t *fts_table, fts_doc_ids_t *doc_ids)
Read the rows from the FTS index.
Definition: fts0opt.cc:988
 
void fts_query_free_result(fts_result_t *result)
FTS Query free result, returned by fts_query().
Definition: fts0que.cc:3824
 
ulint fts_get_token_size(const CHARSET_INFO *cs, const char *token, ulint len)
Get token char size by charset.
Definition: fts0fts.cc:4716
 
constexpr size_t FTS_NUM_AUX_COMMON
The number of FTS AUX common table for a fulltext index.
Definition: fts0fts.h:111
 
fts_row_state
Type of a row during a transaction.
Definition: fts0fts.h:179
 
@ FTS_DELETE
Definition: fts0fts.h:182
 
@ FTS_INVALID
Definition: fts0fts.h:184
 
@ FTS_MODIFY
Definition: fts0fts.h:181
 
@ FTS_NOTHING
Definition: fts0fts.h:183
 
@ FTS_INSERT
Definition: fts0fts.h:180
 
unsigned short ib_uc_t
Since MySQL's character set support for Unicode is woefully inadequate (it supports basic operations ...
Definition: fts0fts.h:291
 
const char * FTS_SUFFIX_DELETED_CACHE
Definition: fts0fts.cc:142
 
void fts_trx_add_op(trx_t *trx, dict_table_t *table, doc_id_t doc_id, fts_row_state state, ib_vector_t *fts_indexes)
Notify the FTS system about an operation on an FTS-indexed table.
Definition: fts0fts.cc:2658
 
bool fts_is_aux_table_name(fts_aux_table_t *table, const char *name, ulint len)
Check if a table is an FTS auxiliary table name.
Definition: fts0fts.cc:5813
 
Prototypes for global functions in ha_innodb.cc that are called by InnoDB C code.
 
The simple hash table utility.
 
static int flags[50]
Definition: hp_test1.cc:40
 
static void start(mysql_harness::PluginFuncEnv *env)
Definition: http_auth_backend_plugin.cc:180
 
unsigned long long int ulonglong
Definition: my_inttypes.h:56
 
static PFS_engine_table_share_proxy table
Definition: pfs.cc:61
 
const std::string charset("charset")
 
Definition: commit_order_queue.h:34
 
bool index(const std::string &value, const String &search_for, uint32_t *idx)
Definition: contains.h:76
 
static int wait(mysql_cond_t *that, mysql_mutex_t *mutex_arg, const char *, unsigned int)
Definition: mysql_cond_v1_native.cc:62
 
const char * table_name
Definition: rules_table_service.cc:56
 
Cursor end()
A past-the-end Cursor.
Definition: rules_table_service.cc:192
 
Query graph global types.
 
Record manager global types.
 
byte rec_t
Definition: rem0types.h:41
 
static bool reload(MYSQL_THD thd)
Reloads the rules into the in-memory table.
Definition: rewriter_plugin.cc:333
 
Row operation global types.
 
static bool rollback(THD *thd)
Abort the current statement and transaction.
Definition: sql_cmd_srs.cc:140
 
case opt name
Definition: sslopt-case.h:29
 
Definition: m_ctype.h:421
 
Definition: plugin_ftparser.h:195
 
Structure to manage FTS AUX table name and MDL during its drop.
Definition: fts0fts.h:168
 
std::vector< char * > aux_name
AUX table name.
Definition: fts0fts.h:170
 
Data structure for an index.
Definition: dict0mem.h:1041
 
Data structure for a database table.
Definition: dict0mem.h:1922
 
Structure for an SQL data tuple of fields (logical record)
Definition: data0data.h:696
 
For storing table info when checking for orphaned tables.
Definition: fts0fts.h:904
 
fts_table_type_t type
FTS table type.
Definition: fts0fts.h:918
 
table_id_t index_id
Table FT index id.
Definition: fts0fts.h:912
 
char * name
Name of the table.
Definition: fts0fts.h:915
 
table_id_t id
Table id.
Definition: fts0fts.h:906
 
table_id_t parent_id
Parent table id.
Definition: fts0fts.h:909
 
The cache for the FTS system.
Definition: fts0types.h:147
 
List of document ids that were added during a transaction.
Definition: fts0fts.h:277
 
ib_vector_t * doc_ids
document ids (each element is of type doc_id_t).
Definition: fts0fts.h:278
 
ib_alloc_t * self_heap
Allocator used to create an instance of this type and the doc_ids vector.
Definition: fts0fts.h:281
 
This type represents a single document field.
Definition: fts0types.h:275
 
Since we can have multiple FTS indexes on a table, we keep a per index cache of words etc.
Definition: fts0types.h:74
 
Query ranked doc ids.
Definition: fts0fts.h:302
 
ulint words_len
words len
Definition: fts0fts.h:310
 
fts_rank_t rank
Rank is between 0 .
Definition: fts0fts.h:305
 
byte * words
this contains the words that were queried and found in this document
Definition: fts0fts.h:307
 
doc_id_t doc_id
Document id.
Definition: fts0fts.h:303
 
Query result.
Definition: fts0fts.h:314
 
ib_rbt_t * rankings_by_id
RB tree of type fts_ranking_t indexed by doc id.
Definition: fts0fts.h:317
 
ib_rbt_t * rankings_by_rank
RB tree of type fts_ranking_t indexed by rank.
Definition: fts0fts.h:319
 
ib_rbt_node_t * current
Current element.
Definition: fts0fts.h:315
 
Information required for transaction savepoint handling.
Definition: fts0fts.h:241
 
ib_rbt_t * tables
Modified FTS tables.
Definition: fts0fts.h:246
 
char * name
First entry is always NULL, the default instance.
Definition: fts0fts.h:242
 
Stop word control infotmation.
Definition: fts0types.h:108
 
ib_alloc_t * heap
The memory allocator to use.
Definition: fts0types.h:110
 
An UTF-16 or UTF-8 string.
Definition: fts0fts.h:294
 
ulint f_n_char
Number of characters.
Definition: fts0fts.h:298
 
ulint f_len
Length of the string in bytes.
Definition: fts0fts.h:297
 
byte * f_str
string, not necessary terminated in any way
Definition: fts0fts.h:295
 
This is used to generate the FTS auxiliary table name, we need the table id and the index id to gener...
Definition: fts0fts.h:326
 
space_index_t index_id
The index id.
Definition: fts0fts.h:335
 
CHARSET_INFO * charset
charset info if it is for FTS index auxiliary table
Definition: fts0fts.h:341
 
fts_table_type_t type
The auxiliary table type.
Definition: fts0fts.h:331
 
const dict_table_t * table
Parent table.
Definition: fts0fts.h:340
 
table_id_t table_id
The table id.
Definition: fts0fts.h:333
 
const char * suffix
The suffix of the fts auxiliary table name, can be NULL, not used everywhere (yet)
Definition: fts0fts.h:337
 
const char * parent
Parent table name, this is required only for the database name.
Definition: fts0fts.h:327
 
A token and its positions within a document.
Definition: fts0types.h:301
 
Information about one changed row in a transaction.
Definition: fts0fts.h:266
 
doc_id_t doc_id
Id of the ins/upd/del document.
Definition: fts0fts.h:267
 
fts_row_state state
state of the row
Definition: fts0fts.h:269
 
ib_vector_t * fts_indexes
The indexes that are affected.
Definition: fts0fts.h:271
 
Information about changes in a single transaction affecting the FTS system.
Definition: fts0fts.h:229
 
ib_vector_t * last_stmt
last_stmt
Definition: fts0fts.h:235
 
mem_heap_t * heap
heap
Definition: fts0fts.h:237
 
trx_t * trx
InnoDB transaction.
Definition: fts0fts.h:230
 
ib_vector_t * savepoints
Active savepoints, must have at least one element, the implied savepoint.
Definition: fts0fts.h:232
 
Information about changed rows in a transaction for a single table.
Definition: fts0fts.h:250
 
ib_rbt_t * rows
rows changed; indexed by doc-id, cells are fts_trx_row_t*
Definition: fts0fts.h:255
 
fts_trx_t * fts_trx
link to parent
Definition: fts0fts.h:253
 
dict_table_t * table
table
Definition: fts0fts.h:251
 
que_t * docs_added_graph
Definition: fts0fts.h:262
 
fts_doc_ids_t * added_doc_ids
list of added doc ids (NULL until the first addition)
Definition: fts0fts.h:258
 
Red black tree node.
Definition: ut0rbt.h:61
 
Red black tree instance.
Definition: ut0rbt.h:72
 
Definition: ut0wqueue.cc:43
 
The info structure stored at the beginning of a heap block.
Definition: mem0mem.h:302
 
Definition: que0que.h:301
 
Definition: trx0trx.h:675
 
Definition: row0upd.h:476
 
Transaction system global type definitions.
 
unsigned long int ulint
Definition: univ.i:406
 
A vector of pointers to data items.