31#ifndef STORAGE_MYISAM_MYISAMDEF_INCLUDED
32#define STORAGE_MYISAM_MYISAMDEF_INCLUDED 1
118#define MI_STATE_INFO_SIZE (24 + 14 * 8 + 7 * 4 + 2 * 2 + 8)
119#define MI_STATE_KEY_SIZE 8
120#define MI_STATE_KEYBLOCK_SIZE 8
121#define MI_STATE_KEYSEG_SIZE 4
122#define MI_STATE_EXTRA_SIZE \
123 ((MI_MAX_KEY + MI_MAX_KEY_BLOCK_SIZE) * MI_STATE_KEY_SIZE + \
124 MI_MAX_KEY * MI_MAX_KEY_SEG * MI_STATE_KEYSEG_SIZE)
125#define MI_KEYDEF_SIZE (2 + 5 * 2)
126#define MI_UNIQUEDEF_SIZE (2 + 1 + 1)
127#define HA_KEYSEG_SIZE (6 + 2 * 2 + 4 * 2)
128#define MI_COLUMNDEF_SIZE (2 * 3 + 1)
129#define MI_BASE_INFO_SIZE (5 * 8 + 8 * 4 + 4 + 4 * 2 + 16)
130#define MI_INDEX_BLOCK_MARGIN 16
176#define MAX_NONMAPPED_INSERTS 1000
377#define USE_WHOLE_KEY MI_MAX_KEY_BUFF * 2
378#define F_EXTRA_LCK -1
381#define MEMMAP_USED 32
382#define REMEMBER_OLD_POS 64
384#define WRITEINFO_UPDATE_KEYFILE 1
385#define WRITEINFO_NO_UNLOCK 2
388#define USE_PACKED_KEYS 1
389#define RRND_PRESERVE_LASTINX 2
393#define STATE_CHANGED 1
394#define STATE_CRASHED 2
395#define STATE_CRASHED_ON_REPAIR 4
396#define STATE_NOT_ANALYZED 8
397#define STATE_NOT_OPTIMIZED_KEYS 16
398#define STATE_NOT_SORTED_PAGES 32
402#define READING_NEXT 1
403#define READING_HEADER 2
405#define mi_getint(x) ((uint)mi_uint2korr(x) & 32767)
406#define mi_putint(x, y, nod) \
408 uint16 boh = (nod ? (uint16)32768 : 0) + (uint16)(y); \
409 mi_int2store(x, boh); \
411#define mi_test_if_nod(x) (x[0] & 128 ? info->s->base.key_reflength : 0)
412#define mi_report_crashed(A, B) _mi_report_crashed((A), (B), __FILE__, __LINE__)
413#define mi_mark_crashed(x) \
415 (x)->s->state.changed |= STATE_CRASHED; \
416 DBUG_PRINT("error", ("Marked table crashed")); \
417 mi_report_crashed((x), nullptr); \
419#define mi_mark_crashed_on_repair(x) \
421 (x)->s->state.changed |= STATE_CRASHED | STATE_CRASHED_ON_REPAIR; \
422 (x)->update |= HA_STATE_CHANGED; \
423 DBUG_PRINT("error", ("Marked table crashed")); \
425#define mi_is_crashed(x) ((x)->s->state.changed & STATE_CRASHED)
426#define mi_is_crashed_on_repair(x) \
427 ((x)->s->state.changed & STATE_CRASHED_ON_REPAIR)
428#define mi_print_error(SHARE, ERRNO) \
429 mi_report_error((ERRNO), (SHARE)->index_file_name)
433#define store_key_length(key, length) \
435 if ((length) < 255) { \
439 mi_int2store((key) + 1, (length)); \
443#define get_key_full_length(length, key) \
445 if ((uchar) * (key) != 255) \
446 length = ((uint)(uchar) * ((key)++)) + 1; \
448 length = mi_uint2korr((key) + 1) + 3; \
453#define get_key_full_length_rdonly(length, key) \
455 if ((uchar) * (key) != 255) \
456 length = ((uint)(uchar) * ((key))) + 1; \
458 length = mi_uint2korr((key) + 1) + 3; \
462#define get_pack_length(length) ((length) >= 255 ? 3 : 1)
464#define MI_MIN_BLOCK_LENGTH 20U
465#define MI_EXTEND_BLOCK_LENGTH 20
466#define MI_SPLIT_LENGTH ((MI_EXTEND_BLOCK_LENGTH + 4) * 2)
467#define MI_MAX_DYN_BLOCK_HEADER 20
468#define MI_BLOCK_INFO_HEADER_LENGTH 20
469#define MI_DYN_DELETE_BLOCK_HEADER 20
470#define MI_DYN_MAX_BLOCK_LENGTH ((1L << 24) - 4L)
471#define MI_DYN_MAX_ROW_LENGTH (MI_DYN_MAX_BLOCK_LENGTH - MI_SPLIT_LENGTH)
472#define MI_DYN_ALIGN_SIZE 4
473#define MI_MAX_DYN_HEADER_BYTE 13
474#define MI_MAX_BLOCK_LENGTH \
475 ((((ulong)1 << 24) - 1) & (~(ulong)(MI_DYN_ALIGN_SIZE - 1)))
476#define MI_REC_BUFF_OFFSET \
477 ALIGN_SIZE(MI_DYN_DELETE_BLOCK_HEADER + sizeof(uint32))
479#define PACK_TYPE_SELECTED 1
480#define PACK_TYPE_SPACE_FIELDS 2
481#define PACK_TYPE_ZERO_FILL 4
482#define MI_FOUND_WRONG_KEY 32738
484#define MI_MAX_KEY_BLOCK_SIZE \
485 (MI_MAX_KEY_BLOCK_LENGTH / MI_MIN_KEY_BLOCK_LENGTH)
486#define MI_BLOCK_SIZE(key_length, data_pointer, key_pointer, block_size) \
487 (((((key_length) + (data_pointer) + (key_pointer)) * 4 + (key_pointer) + \
492#define MI_MAX_KEYPTR_SIZE 5
493#define MI_MIN_KEYBLOCK_LENGTH 50
495#define MI_MIN_SIZE_BULK_INSERT_TREE 16384
496#define MI_MIN_ROWS_TO_USE_BULK_INSERT 100
497#define MI_MIN_ROWS_TO_DISABLE_INDEXES 100
498#define MI_MIN_ROWS_TO_USE_WRITE_CACHE 10
502#define MI_UNIQUE_HASH_TYPE HA_KEYTYPE_ULONG_INT
503#define mi_unique_store(A, B) mi_int4store((A), (B))
555 my_off_t father_page,
bool insert_last);
557 uchar *buff,
uchar *key_buff,
bool insert_last);
559 uchar *
key, uint *return_key_length,
593 uint key_len, uint nextflag,
my_off_t pos);
595 uchar *
key, uint key_len, uint comp_flag,
596 uchar **ret_pos,
uchar *buff,
bool *was_last_key);
598 uchar *
key, uint key_len, uint comp_flag,
599 uchar **ret_pos,
uchar *buff,
bool *was_last_key);
601 uchar *
key, uint key_len, uint comp_flag,
602 uchar **ret_pos,
uchar *buff,
bool *was_last_key);
616 uint *return_key_length);
624 uint key_length, uint nextflag,
my_off_t pos);
631 int level,
uchar *buff);
642 uint
length,
int re_read_if_possibly);
646#define mi_get_rec_buff_ptr(info, buf) \
647 ((((info)->s->options & HA_OPTION_PACK_RECORD) && (buf)) \
648 ? (buf)-MI_REC_BUFF_OFFSET \
650#define mi_get_rec_buff_len(info, buf) \
651 (*((uint32 *)(mi_get_rec_buff_ptr(info, buf))))
656 ulong packed_length,
bool with_checkum);
693#define BLOCK_DELETED 4
695#define BLOCK_SYNC_ERROR 16
696#define BLOCK_FATAL_ERROR 32
699 ((uint)10 * 4 * (IO_SIZE + 32) + 32)
702#define BUFFERS_WHEN_SORTING 16
703#define MY_HOW_OFTEN_TO_WRITE 1000
704#define WRITE_COUNT MY_HOW_OFTEN_TO_WRITE
705#define INDEX_TMP_EXT ".TMM"
706#define DATA_TMP_EXT ".TMD"
711#define UPDATE_AUTO_INC 8
712#define UPDATE_OPEN_COUNT 16
714#define USE_BUFFER_INIT (((1024L * 512L - MALLOC_OVERHEAD) / IO_SIZE) * IO_SIZE)
715#define READ_BUFFER_INIT (1024L * 256L - MALLOC_OVERHEAD)
716#define SORT_BUFFER_INIT (2048L * 1024L - MALLOC_OVERHEAD)
717#define MIN_SORT_BUFFER (4096ULL - MALLOC_OVERHEAD)
730#define myisam_log(a, b, c, d) \
731 if (myisam_log_file >= 0) _myisam_log(a, b, c, d)
732#define myisam_log_command(a, b, c, d, e) \
733 if (myisam_log_file >= 0) _myisam_log_command(a, b, c, d, e)
734#define myisam_log_record(a, b, c, d, e) \
735 if (myisam_log_file >= 0) _myisam_log_record(a, b, c, d, e)
737#define fast_mi_writeinfo(INFO) \
738 if (!(INFO)->s->tot_locks) (void)_mi_writeinfo((INFO), 0)
739#define fast_mi_readinfo(INFO) \
740 ((INFO)->lock_type == F_UNLCK) && _mi_readinfo((INFO), F_RDLCK, 1)
801 bool null_are_equal);
826 MY_ATTRIBUTE((format(printf, 2, 3)));
828 MY_ATTRIBUTE((format(printf, 2, 3)));
830 MY_ATTRIBUTE((format(printf, 2, 3)));
846#ifdef HAVE_PSI_INTERFACE
int page
Definition: ctype-mb.cc:1234
unsigned int PSI_cond_key
Instrumented cond key.
Definition: psi_cond_bits.h:44
unsigned int PSI_file_key
Instrumented file key.
Definition: psi_file_bits.h:48
unsigned int PSI_memory_key
Instrumented memory key.
Definition: psi_memory_bits.h:49
unsigned int PSI_mutex_key
Instrumented mutex key.
Definition: psi_mutex_bits.h:52
unsigned int PSI_rwlock_key
Instrumented rwlock key.
Definition: psi_rwlock_bits.h:44
unsigned int PSI_thread_key
Instrumented thread key.
Definition: psi_thread_bits.h:50
static int flag
Definition: hp_test1.cc:40
static int reclength
Definition: hp_test2.cc:52
Instrumentation helpers for mysys threads.
This file follows Google coding style, except for the name MEM_ROOT (which is kept for historical rea...
data_file_type
Definition: my_base.h:1070
ha_rkey_function
Definition: my_base.h:78
ulong key_part_map
Definition: my_base.h:1008
my_off_t ha_rows
Definition: my_base.h:1141
Abstraction functions over zlib/intrinsics.
std::uint32_t ha_checksum
Definition: my_checksum.h:106
enum icp_result ICP_RESULT
Values returned by index_cond_func_xxx functions.
Some integer typedefs for easier portability.
int myf
Definition: my_inttypes.h:94
unsigned long long int ulonglong
Definition: my_inttypes.h:56
uint8_t uint8
Definition: my_inttypes.h:63
ulonglong my_off_t
Definition: my_inttypes.h:72
unsigned char uchar
Definition: my_inttypes.h:52
uint16_t uint16
Definition: my_inttypes.h:65
uint32_t uint32
Definition: my_inttypes.h:67
int File
Definition: my_io_bits.h:51
Some macros for dealing with pointer arithmetic, e.g., aligning of buffers to a given size.
This file should be included when using myisam functions.
#define MI_MAX_KEY_SEG
Definition: myisam.h:64
void _mi_print_key(FILE *stream, HA_KEYSEG *keyseg, const uchar *key, uint length)
Definition: mi_dbug.cc:35
uint myisam_quick_table_bits
Definition: mi_static.cc:57
PSI_memory_key mi_key_memory_ft_stopwords
Definition: mi_static.cc:107
size_t mi_nommap_pread(MI_INFO *info, uchar *Buffer, size_t Count, my_off_t offset, myf MyFlags)
Definition: mi_dynrec.cc:194
int _mi_decrement_open_count(MI_INFO *info)
Definition: mi_locking.cc:501
int flush_pending_blocks(MI_SORT_PARAM *param)
Definition: mi_check.cc:3245
ulong myisam_pid
Definition: mi_log.cc:48
int mi_munmap_file(MI_INFO *info)
Definition: mi_dynrec.cc:125
uint mi_uniquedef_write(File file, MI_UNIQUEDEF *keydef)
Definition: mi_open.cc:1175
PSI_memory_key mi_key_memory_FTPARSER_PARAM
Definition: mi_static.cc:105
int _mi_read_cache(IO_CACHE *info, uchar *buff, my_off_t pos, uint length, int re_read_if_possibly)
Definition: mi_cache.cc:53
void init_myisam_psi_keys()
Definition: mi_static.cc:203
uint _mi_get_block_info(MI_BLOCK_INFO *, File, my_off_t)
Definition: mi_dynrec.cc:1642
myisam_log_commands
Definition: myisamdef.h:718
@ MI_LOG_EXTRA
Definition: myisamdef.h:724
@ MI_LOG_UPDATE
Definition: myisamdef.h:721
@ MI_LOG_DELETE_ALL
Definition: myisamdef.h:726
@ MI_LOG_DELETE
Definition: myisamdef.h:722
@ MI_LOG_OPEN
Definition: myisamdef.h:719
@ MI_LOG_LOCK
Definition: myisamdef.h:725
@ MI_LOG_WRITE
Definition: myisamdef.h:720
@ MI_LOG_CLOSE
Definition: myisamdef.h:723
int flush_blocks(MI_CHECK *param, KEY_CACHE *key_cache, File file)
Definition: mi_check.cc:1739
void _myisam_log_record(enum myisam_log_commands command, MI_INFO *info, const uchar *record, my_off_t filepos, int result)
Definition: mi_log.cc:116
PSI_file_key mi_key_file_kfile
Definition: myisamdef.h:854
int _mi_update_static_record(MI_INFO *, my_off_t, const uchar *)
Definition: mi_statrec.cc:88
uchar * mi_recinfo_read(uchar *ptr, MI_COLUMNDEF *recinfo)
Definition: mi_open.cc:1212
size_t mi_nommap_pwrite(MI_INFO *info, const uchar *Buffer, size_t Count, my_off_t offset, myf MyFlags)
Definition: mi_dynrec.cc:240
thread_local st_keycache_thread_var * keycache_tls
Definition: mi_static.cc:69
PSI_file_key mi_key_file_datatmp
Definition: mi_static.cc:148
int _mi_pack_rec_unpack(MI_INFO *info, MI_BIT_BUFF *bit_buff, uchar *to, uchar *from, ulong reclength)
Definition: mi_packrec.cc:700
ha_checksum mi_checksum(MI_INFO *info, const uchar *buf)
Definition: mi_checksum.cc:33
uchar * _mi_get_last_key(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *keypos, uchar *lastkey, uchar *endpos, uint *return_key_length)
Definition: mi_search.cc:1010
PSI_memory_key mi_key_memory_MI_INFO_bulk_insert
Definition: mi_static.cc:101
void _mi_store_var_pack_key(MI_KEYDEF *keyinfo, uchar *key_pos, MI_KEY_PARAM *s_temp)
Definition: mi_search.cc:1643
bool _mi_memmap_file(MI_INFO *info)
Definition: mi_packrec.cc:1339
my_off_t _mi_kpos(uint nod_flag, uchar *after_key)
Definition: mi_search.cc:515
bool _mi_read_pack_info(MI_INFO *info, bool fix_keys)
Definition: mi_packrec.cc:154
int _mi_enlarge_root(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *key, my_off_t *root)
Definition: mi_write.cc:264
bool _mi_rec_check(MI_INFO *info, const uchar *record, uchar *packpos, ulong packed_length, bool with_checkum)
Definition: mi_dynrec.cc:955
PSI_memory_key mi_key_memory_FT_INFO
Definition: mi_static.cc:104
PSI_memory_key mi_key_memory_SORT_INFO_buffer
Definition: mi_static.cc:113
uint myisam_read_vec[]
Definition: mi_static.cc:80
PSI_mutex_key mi_key_mutex_MYISAM_SHARE_intern_lock
Definition: mi_static.cc:121
uint mi_base_info_write(File file, MI_BASE_INFO *base)
Definition: mi_open.cc:974
PSI_memory_key mi_key_memory_stPageList_pages
Definition: mi_static.cc:117
PSI_memory_key mi_key_memory_preload_buffer
Definition: mi_static.cc:116
int mi_unique_comp(MI_UNIQUEDEF *def, const uchar *a, const uchar *b, bool null_are_equal)
Definition: mi_unique.cc:143
void mi_restore_status(void *param)
Definition: mi_locking.cc:319
int _mi_read_rnd_dynamic_record(MI_INFO *, uchar *, my_off_t, bool)
Definition: mi_dynrec.cc:1481
int _mi_update_dynamic_record(MI_INFO *, my_off_t, const uchar *)
Definition: mi_dynrec.cc:250
int mi_open_datafile(MI_INFO *info, MYISAM_SHARE *share, const char *orn_name, File file_to_dup)
Definition: mi_open.cc:1232
int _mi_ft_update(MI_INFO *info, uint keynr, uchar *keybuf, const uchar *oldrec, const uchar *newrec, my_off_t pos)
Definition: ft_update.cc:189
uchar * mi_state_info_read(uchar *ptr, MI_STATE_INFO *state)
Definition: mi_open.cc:882
void mi_check_print_warning(MI_CHECK *param, const char *fmt,...)
Definition: ha_myisam.cc:579
PSI_memory_key mi_key_memory_MI_SORT_PARAM_wordroot
Definition: mi_static.cc:109
int mi_check_index_cond(MI_INFO *info, uint keynr, uchar *record)
Definition: mi_key.cc:422
PSI_memory_key mi_key_memory_record_buffer
Definition: mi_static.cc:102
mysql_mutex_t THR_LOCK_myisam
Definition: my_thr_init.cc:73
uchar * my_n_base_info_read(uchar *ptr, MI_BASE_INFO *base)
Definition: mi_open.cc:1023
void _myisam_log_command(enum myisam_log_commands command, MI_INFO *info, const uchar *buffert, uint length, int result)
Definition: mi_log.cc:96
uchar * mi_uniquedef_read(uchar *ptr, MI_UNIQUEDEF *keydef)
Definition: mi_open.cc:1187
void _mi_unmap_file(MI_INFO *info)
Definition: mi_packrec.cc:1387
int mi_open_keyfile(MYISAM_SHARE *share)
Definition: mi_open.cc:1262
uint mi_recinfo_write(File file, MI_COLUMNDEF *recinfo)
Definition: mi_open.cc:1198
uchar * _mi_fetch_keypage(MI_INFO *info, MI_KEYDEF *keyinfo, my_off_t page, int level, uchar *buff, int return_buffer)
Definition: mi_page.cc:37
void _mi_store_static_key(MI_KEYDEF *keyinfo, uchar *key_pos, MI_KEY_PARAM *s_temp)
Definition: mi_search.cc:1626
int _mi_write_part_record(MI_INFO *info, my_off_t filepos, ulong length, my_off_t next_filepos, uchar **record, ulong *reclength, int *flag)
Definition: mi_dynrec.cc:544
void _mi_report_crashed(MI_INFO *file, const char *message, const char *sfile, uint sline)
Report list of threads (and queries) accessing a table, thread_id of a thread that detected corruptio...
Definition: ha_myisam.cc:601
void _mi_store_blob_length(uchar *pos, uint pack_length, uint length)
Definition: mi_dynrec.cc:1182
int _mi_read_rnd_static_record(MI_INFO *, uchar *, my_off_t, bool)
Definition: mi_statrec.cc:174
void _mi_kpointer(MI_INFO *info, uchar *buff, my_off_t pos)
Definition: mi_search.cc:540
int _mi_ck_write(MI_INFO *info, uint keynr, uchar *key, uint length)
Definition: mi_write.cc:209
PSI_memory_key mi_key_memory_SORT_FT_BUF
Definition: mi_static.cc:110
void _mi_dpointer(MI_INFO *info, uchar *buff, my_off_t pos)
Definition: mi_search.cc:651
PSI_memory_key mi_key_memory_keycache_thread_var
Definition: mi_static.cc:118
int _mi_seq_search(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *page, uchar *key, uint key_len, uint comp_flag, uchar **ret_pos, uchar *buff, bool *was_last_key)
Definition: mi_search.cc:240
#define MI_BLOCK_INFO_HEADER_LENGTH
Definition: myisamdef.h:468
uchar myisam_file_magic[]
Definition: mi_static.cc:43
int _mi_read_pack_record(MI_INFO *info, my_off_t filepos, uchar *buf)
Definition: mi_packrec.cc:677
int _mi_write_blob_record(MI_INFO *, const uchar *)
Definition: mi_dynrec.cc:256
bool mi_dynmap_file(MI_INFO *info, my_off_t size)
Definition: mi_dynrec.cc:79
ulonglong mi_safe_mul(ulonglong a, ulonglong b)
Definition: mi_open.cc:695
uint myisam_readnext_vec[]
Definition: myisamdef.h:515
uint mi_bit_type
Definition: myisamdef.h:242
int _mi_update_blob_record(MI_INFO *, my_off_t, const uchar *)
Definition: mi_dynrec.cc:281
MI_INFO * test_if_reopen(char *filename)
Definition: mi_open.cc:82
uint _mi_get_binary_pack_key(MI_KEYDEF *keyinfo, uint nod_flag, uchar **page_pos, uchar *key)
Definition: mi_search.cc:822
int mi_keyseg_write(File file, const HA_KEYSEG *keyseg)
Definition: mi_open.cc:1120
void mi_setup_functions(MYISAM_SHARE *share)
Definition: mi_open.cc:704
PSI_memory_key mi_key_memory_MI_INFO_ft1_to_ft2
Definition: mi_static.cc:100
File myisam_log_file
Definition: mi_static.cc:56
int _mi_calc_bin_pack_key_length(MI_KEYDEF *keyinfo, uint nod_flag, const uchar *key_pos, uchar *org_key, uchar *prev_key, const uchar *key, MI_KEY_PARAM *s_temp)
Definition: mi_search.cc:1551
uint mi_state_info_write(File file, MI_STATE_INFO *state, uint pWrite)
Definition: mi_open.cc:797
PSI_memory_key key_memory_QUEUE
Definition: mi_static.cc:119
int _mi_readinfo(MI_INFO *info, int lock_flag, int check_keybuffer)
Definition: mi_locking.cc:369
PSI_memory_key mi_key_memory_MYISAM_SHARE_decode_tables
Definition: mi_static.cc:115
bool mi_check_status(void *param)
Definition: mi_locking.cc:350
int _mi_ck_real_write_btree(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *key, uint key_length, my_off_t *root, uint comp_flag)
Definition: mi_write.cc:249
PSI_rwlock_key mi_key_rwlock_MYISAM_SHARE_key_root_lock
Definition: mi_static.cc:129
int _mi_write_keypage(MI_INFO *info, MI_KEYDEF *keyinfo, my_off_t page, int level, uchar *buff)
Definition: mi_page.cc:73
void mi_set_index_cond_func(MI_INFO *info, index_cond_func_t func, void *func_arg)
Definition: mi_extra.cc:211
void mi_report_error(int errcode, const char *file_name)
Definition: mi_info.cc:125
int _mi_delete_dynamic_record(MI_INFO *info)
Definition: mi_dynrec.cc:303
my_off_t _mi_dpos(MI_INFO *info, uint nod_flag, const uchar *after_key)
Definition: mi_search.cc:571
uchar * mi_keydef_read(uchar *ptr, MI_KEYDEF *keydef)
Definition: mi_open.cc:1094
int _mi_calc_static_key_length(MI_KEYDEF *keyinfo, uint nod_flag, const uchar *key_pos, uchar *org_key, uchar *key_buff, const uchar *key, MI_KEY_PARAM *s_temp)
Definition: mi_search.cc:1265
void mi_check_print_info(MI_CHECK *param, const char *fmt,...)
Definition: ha_myisam.cc:572
int _mi_write_static_record(MI_INFO *, const uchar *)
Definition: mi_statrec.cc:35
uint _mi_pack_key(MI_INFO *info, uint keynr, uchar *key, const uchar *old, key_part_map keypart_map, HA_KEYSEG **last_used_keyseg)
Definition: mi_key.cc:197
void mi_remap_file(MI_INFO *info, my_off_t size)
Definition: mi_dynrec.cc:148
int _mi_bin_search(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *page, uchar *key, uint key_len, uint comp_flag, uchar **ret_pos, uchar *buff, bool *was_last_key)
Definition: mi_search.cc:181
int _mi_read_static_record(MI_INFO *info, my_off_t filepos, uchar *buf)
Definition: mi_statrec.cc:148
uint mi_state_info_read_dsk(File file, MI_STATE_INFO *state, bool pRead)
Definition: mi_open.cc:956
int _mi_insert(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *key, uchar *anc_buff, uchar *key_pos, uchar *key_buff, uchar *father_buff, uchar *father_keypos, my_off_t father_page, bool insert_last)
Definition: mi_write.cc:405
int _mi_cmp_static_record(MI_INFO *info, const uchar *record)
Definition: mi_statrec.cc:107
PSI_cond_key mi_key_cond_MI_SORT_INFO_cond
PSI_memory_key mi_key_memory_MI_DECODE_TREE
Definition: mi_static.cc:114
int _mi_write_dynamic_record(MI_INFO *, const uchar *)
Definition: mi_dynrec.cc:245
uint mi_keydef_write(File file, MI_KEYDEF *keydef)
Definition: mi_open.cc:1075
uchar * _mi_move_key(MI_KEYDEF *keyinfo, uchar *to, const uchar *from)
Definition: mi_search.cc:1092
uint _mi_get_pack_key(MI_KEYDEF *keyinfo, uint nod_flag, uchar **page, uchar *key)
Definition: mi_search.cc:713
void _mi_store_bin_pack_key(MI_KEYDEF *keyinfo, uchar *key_pos, MI_KEY_PARAM *s_temp)
Definition: mi_search.cc:1691
int mi_disable_indexes(MI_INFO *info)
Definition: mi_open.cc:1284
int _mi_calc_var_pack_key_length(MI_KEYDEF *keyinfo, uint nod_flag, const uchar *key_pos, uchar *org_key, uchar *prev_key, const uchar *key, MI_KEY_PARAM *s_temp)
Definition: mi_search.cc:1304
ha_checksum mi_static_checksum(MI_INFO *info, const uchar *buf)
Definition: mi_checksum.cc:68
int sort_write_record(MI_SORT_PARAM *sort_param)
Definition: mi_check.cc:2810
my_off_t _mi_new(MI_INFO *info, MI_KEYDEF *keyinfo, int level)
Definition: mi_page.cc:120
ha_checksum mi_unique_hash(MI_UNIQUEDEF *def, const uchar *buf)
Definition: mi_unique.cc:84
void _myisam_log(enum myisam_log_commands command, MI_INFO *info, const uchar *buffert, uint length)
Definition: mi_log.cc:75
int _mi_dispose(MI_INFO *info, MI_KEYDEF *keyinfo, my_off_t pos, int level)
Definition: mi_page.cc:102
int _mi_read_rnd_pack_record(MI_INFO *, uchar *, my_off_t, bool)
Definition: mi_packrec.cc:1168
bool mi_check_unique(MI_INFO *info, MI_UNIQUEDEF *def, uchar *record, ha_checksum unique_hash, my_off_t pos)
Definition: mi_unique.cc:37
int _mi_search_first(MI_INFO *info, MI_KEYDEF *keyinfo, my_off_t pos)
Definition: mi_search.cc:1176
void mi_copy_status(void *to, void *from)
Definition: mi_locking.cc:325
PSI_cond_key mi_keycache_thread_var_suspend
Definition: myisamdef.h:852
void mi_get_status(void *param, int concurrent_insert)
Definition: mi_locking.cc:262
int _mi_cmp_dynamic_unique(MI_INFO *info, MI_UNIQUEDEF *def, const uchar *record, my_off_t pos)
Definition: mi_dynrec.cc:1328
int _mi_cmp_dynamic_record(MI_INFO *info, const uchar *record)
Definition: mi_dynrec.cc:1354
PSI_thread_key mi_key_thread_find_all_keys
Definition: mi_static.cc:159
int mi_enable_indexes(MI_INFO *info)
Definition: mi_open.cc:1310
uint calc_pack_length(uint version, ulong length)
Definition: mi_packrec.cc:1510
PSI_memory_key mi_key_memory_FTB
Definition: mi_static.cc:103
my_off_t _mi_rec_pos(MYISAM_SHARE *info, uchar *ptr)
Definition: mi_search.cc:607
PSI_file_key mi_key_file_log
Definition: myisamdef.h:855
int sort_ft_buf_flush(MI_SORT_PARAM *sort_param)
Definition: mi_check.cc:2980
PSI_memory_key mi_key_memory_MYISAM_SHARE
Definition: mi_static.cc:98
bool check_table_is_closed(const char *name, const char *where)
ulonglong retrieve_auto_increment(MI_INFO *info, const uchar *record)
Definition: mi_key.cc:444
uint _mi_keylength_part(MI_KEYDEF *keyinfo, const uchar *key, HA_KEYSEG *end)
Definition: mi_search.cc:1074
size_t mi_mmap_pread(MI_INFO *info, uchar *Buffer, size_t Count, my_off_t offset, myf MyFlags)
Definition: mi_dynrec.cc:170
int _mi_search_last(MI_INFO *info, MI_KEYDEF *keyinfo, my_off_t pos)
Definition: mi_search.cc:1215
uchar myisam_pack_file_magic[]
Definition: myisamdef.h:514
int _mi_read_key_record(MI_INFO *info, my_off_t filepos, uchar *buf)
Definition: mi_key.cc:388
uint save_pack_length(uint version, uchar *block_buff, ulong length)
Definition: mi_packrec.cc:1470
int _mi_read_dynamic_record(MI_INFO *info, my_off_t filepos, uchar *buf)
Definition: mi_dynrec.cc:1233
int _mi_calc_var_key_length(MI_KEYDEF *keyinfo, uint nod_flag, const uchar *key_pos, uchar *org_key, uchar *key_buff, const uchar *key, MI_KEY_PARAM *s_temp)
Definition: mi_search.cc:1276
uchar * mi_keyseg_read(uchar *ptr, HA_KEYSEG *keyseg)
Definition: mi_open.cc:1144
int mi_indexes_are_disabled(MI_INFO *info)
Definition: mi_open.cc:1339
int _mi_split_page(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *key, uchar *buff, uchar *key_buff, bool insert_last)
Definition: mi_write.cc:517
PSI_file_key mi_key_file_dfile
Definition: myisamdef.h:854
size_t mi_mmap_pwrite(MI_INFO *info, const uchar *Buffer, size_t Count, my_off_t offset, myf MyFlags)
Definition: mi_dynrec.cc:215
PSI_memory_key mi_key_memory_ft_memroot
Definition: mi_static.cc:106
int _mi_prefix_search(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *page, uchar *key, uint key_len, uint comp_flag, uchar **ret_pos, uchar *buff, bool *was_last_key)
Definition: mi_search.cc:278
LIST * myisam_open_list
Definition: mi_static.cc:42
int _mi_mark_file_changed(MI_INFO *info)
Definition: mi_locking.cc:474
ulong _my_calc_total_blob_length(MI_INFO *info, const uchar *record)
Definition: mi_dynrec.cc:1153
uchar * _mi_get_key(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *page, uchar *key, uchar *keypos, uint *return_key_length)
Definition: mi_search.cc:952
PSI_memory_key mi_key_memory_MI_INFO
Definition: mi_static.cc:99
size_t _mi_rec_unpack(MI_INFO *info, uchar *to, const uchar *from, ulong reclength)
Definition: mi_dynrec.cc:1046
int _mi_check_index(MI_INFO *info, int inx)
Definition: mi_search.cc:46
uint _mi_keylength(MI_KEYDEF *keyinfo, const uchar *key)
Definition: mi_search.cc:1046
int _mi_test_if_changed(MI_INFO *info)
Definition: mi_locking.cc:435
PSI_memory_key mi_key_memory_filecopy
Definition: mi_static.cc:112
PSI_rwlock_key mi_key_rwlock_MYISAM_SHARE_mmap_lock
Definition: myisamdef.h:849
int _create_index_by_sort(MI_SORT_PARAM *info, bool no_messages, ulonglong)
Definition: sort.cc:109
ICP_RESULT(* index_cond_func_t)(void *param)
Definition: myisamdef.h:251
PSI_memory_key mi_key_memory_MI_SORT_PARAM
Definition: mi_static.cc:108
volatile int * killed_ptr(MI_CHECK *param)
Definition: ha_myisam.cc:558
PSI_memory_key mi_key_memory_SORT_KEY_BLOCKS
Definition: mi_static.cc:111
uint _mi_pack_get_block_info(MI_INFO *myisam, MI_BIT_BUFF *bit_buff, MI_BLOCK_INFO *info, uchar **rec_buff_p, File file, my_off_t filepos)
Definition: mi_packrec.cc:1222
void mi_check_print_error(MI_CHECK *param, const char *fmt,...)
Definition: ha_myisam.cc:563
int _mi_cmp_static_unique(MI_INFO *info, MI_UNIQUEDEF *def, const uchar *record, my_off_t pos)
Definition: mi_statrec.cc:132
int _mi_search_next(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *key, uint key_length, uint nextflag, my_off_t pos)
Definition: mi_search.cc:1101
uint read_pack_length(uint version, const uchar *buf, ulong *length)
Definition: mi_packrec.cc:1492
uint _mi_make_key(MI_INFO *info, uint keynr, uchar *key, const uchar *record, my_off_t filepos)
Definition: mi_key.cc:63
int _mi_delete_static_record(MI_INFO *info)
Definition: mi_statrec.cc:94
void mi_update_status(void *param)
Definition: mi_locking.cc:282
uint _mi_rec_pack(MI_INFO *info, uchar *to, const uchar *from)
Definition: mi_dynrec.cc:855
int _mi_ck_delete(MI_INFO *info, uint keynr, uchar *key, uint key_length)
Definition: mi_delete.cc:134
int _mi_writeinfo(MI_INFO *info, uint options)
Definition: mi_locking.cc:397
uchar * _mi_find_half_pos(uint nod_flag, MI_KEYDEF *keyinfo, uchar *page, uchar *key, uint *return_key_length, uchar **after_key)
Definition: mi_write.cc:581
uchar * mi_alloc_rec_buff(MI_INFO *, ulong, uchar **)
Definition: mi_open.cc:661
int _mi_search(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *key, uint key_len, uint nextflag, my_off_t pos)
Definition: mi_search.cc:77
uint _mi_get_static_key(MI_KEYDEF *keyinfo, uint nod_flag, uchar **page, uchar *key)
Definition: mi_search.cc:692
Storing of values in high byte first order.
Instrumentation helpers for mysys file io.
static char * where
Definition: mysqldump.cc:152
static int record
Definition: mysqltest.cc:195
Definition: buf0block_hint.cc:30
const std::string FILE("FILE")
bool length(const dd::Spatial_reference_system *srs, const Geometry *g1, double *length, bool *null) noexcept
Computes the length of linestrings and multilinestrings.
Definition: length.cc:76
std::string file_name(Log_file_id file_id)
Provides name of the log file with the given file id, e.g.
Definition: log0pre_8_0_30.cc:94
size_t size(const char *const c)
Definition: base64.h:46
Definition: options.cc:57
Cursor end()
A past-the-end Cursor.
Definition: rules_table_service.cc:192
const char * filename
Definition: pfs_example_component_population.cc:67
Instrumentation helpers for rwlock.
required string key
Definition: replication_asynchronous_connection_failover.proto:60
required uint64 version
Definition: replication_group_member_actions.proto:41
case opt name
Definition: sslopt-case.h:29
Definition: myisamdef.h:332
ulong mem_count
Definition: myisamdef.h:336
uchar * key
Definition: myisamdef.h:334
uchar * base
Definition: myisamdef.h:334
ha_rows count
Definition: myisamdef.h:335
my_off_t file_pos
Definition: myisamdef.h:333
ulong max_keys
Definition: myisamdef.h:337
Definition: my_compare.h:60
Definition: keycache.h:73
The MEM_ROOT is a simple arena, where allocations are carved out of larger blocks.
Definition: my_alloc.h:83
Definition: myisamdef.h:132
uint all_key_parts
Definition: myisamdef.h:158
uint keys
Definition: myisamdef.h:148
uint key_reflength
Definition: myisamdef.h:147
uint rec_reflength
Definition: myisamdef.h:146
my_off_t margin_key_file_length
Definition: myisamdef.h:136
my_off_t keystart
Definition: myisamdef.h:133
uint max_key_block_length
Definition: myisamdef.h:152
ulong reclength
Definition: myisamdef.h:139
ha_rows records
Definition: myisamdef.h:137
uint pack_bits
Definition: myisamdef.h:151
ulong pack_reclength
Definition: myisamdef.h:140
ulong fields
Definition: myisamdef.h:144
ulong min_block_length
Definition: myisamdef.h:143
my_off_t max_key_file_length
Definition: myisamdef.h:135
uint key_parts
Definition: myisamdef.h:158
uint extra_alloc_procent
Definition: myisamdef.h:156
ulong mean_row_length
Definition: myisamdef.h:138
uint max_key_length
Definition: myisamdef.h:153
uint extra_alloc_bytes
Definition: myisamdef.h:155
ulong pack_fields
Definition: myisamdef.h:145
my_off_t max_data_file_length
Definition: myisamdef.h:134
uint blobs
Definition: myisamdef.h:150
ulong min_pack_length
Definition: myisamdef.h:141
uint auto_key
Definition: myisamdef.h:149
ha_rows reloc
Definition: myisamdef.h:137
ulong max_pack_length
Definition: myisamdef.h:142
Definition: myisamdef.h:244
uint bits
Definition: myisamdef.h:246
uchar * pos
Definition: myisamdef.h:247
uchar * blob_end
Definition: myisamdef.h:247
uchar * blob_pos
Definition: myisamdef.h:247
uint error
Definition: myisamdef.h:248
uchar * end
Definition: myisamdef.h:247
mi_bit_type current_byte
Definition: myisamdef.h:245
Definition: myisamdef.h:164
ulong length
Definition: myisamdef.h:167
ulong offset
Definition: myisamdef.h:165
uint pack_length
Definition: myisamdef.h:166
Definition: myisamdef.h:676
my_off_t next_filepos
Definition: myisamdef.h:683
uint second_read
Definition: myisamdef.h:685
uchar header[MI_BLOCK_INFO_HEADER_LENGTH]
Definition: myisamdef.h:677
my_off_t prev_filepos
Definition: myisamdef.h:684
my_off_t filepos
Definition: myisamdef.h:682
ulong rec_len
Definition: myisamdef.h:678
uint offset
Definition: myisamdef.h:686
ulong data_len
Definition: myisamdef.h:679
ulong block_len
Definition: myisamdef.h:680
ulong blob_len
Definition: myisamdef.h:681
Definition: myisamdef.h:253
my_off_t last_keypage
Definition: myisamdef.h:285
MI_STATUS_INFO * state
Definition: myisamdef.h:255
MI_BLOB * blobs
Definition: myisamdef.h:256
MYSQL_FTPARSER_PARAM * ftparser_param
Definition: myisamdef.h:262
uint save_lastkey_length
Definition: myisamdef.h:299
IO_CACHE rec_cache
Definition: myisamdef.h:309
myf lock_wait
Definition: myisamdef.h:311
uint last_rkey_length
Definition: myisamdef.h:297
MEM_ROOT ft_memroot
Definition: myisamdef.h:261
uchar * int_maxpos
Definition: myisamdef.h:273
uint opt_flag
Definition: myisamdef.h:293
my_off_t lastpos
Definition: myisamdef.h:281
ulong last_unique
Definition: myisamdef.h:278
uint8 once_flags
Definition: myisamdef.h:317
my_off_t save_lastpos
Definition: myisamdef.h:283
my_off_t last_search_keypage
Definition: myisamdef.h:286
int(* read_record)(MI_INFO *, my_off_t, uchar *)
Definition: myisamdef.h:276
int errkey
Definition: myisamdef.h:302
ulong this_unique
Definition: myisamdef.h:277
ulong packed_length
Definition: myisamdef.h:291
bool page_changed
Definition: myisamdef.h:315
uint data_changed
Definition: myisamdef.h:305
uint preload_buff_size
Definition: myisamdef.h:310
int dfile
Definition: myisamdef.h:292
uint update
Definition: myisamdef.h:294
uchar * rec_buff
Definition: myisamdef.h:271
int rtree_recursion_depth
Definition: myisamdef.h:329
ulong blob_length
Definition: myisamdef.h:291
my_off_t pos
Definition: myisamdef.h:284
bool append_insert_at_end
Definition: myisamdef.h:313
uint pack_key_length
Definition: myisamdef.h:300
uchar * int_keypos
Definition: myisamdef.h:272
uint lastkey_length
Definition: myisamdef.h:296
uchar * lastkey2
Definition: myisamdef.h:266
int save_lastinx
Definition: myisamdef.h:307
uchar * rtree_recursion_state
Definition: myisamdef.h:328
uchar * rnext_same_key
Definition: myisamdef.h:269
my_off_t dupp_key_pos
Definition: myisamdef.h:287
ulong this_loop
Definition: myisamdef.h:279
uint save_update
Definition: myisamdef.h:306
int lock_type
Definition: myisamdef.h:303
uchar * lastkey
Definition: myisamdef.h:266
MYISAM_SHARE * s
Definition: myisamdef.h:254
uchar * first_mbr_key
Definition: myisamdef.h:270
DYNAMIC_ARRAY * ft1_to_ft2
Definition: myisamdef.h:260
bool set_rnext_same_key
Definition: myisamdef.h:320
MI_BIT_BUFF bit_buff
Definition: myisamdef.h:257
void * index_cond_func_arg
Definition: myisamdef.h:323
int lastinx
Definition: myisamdef.h:295
ha_checksum checksum
Definition: myisamdef.h:288
enum ha_rkey_function last_key_func
Definition: myisamdef.h:298
ulong last_loop
Definition: myisamdef.h:280
bool was_locked
Definition: myisamdef.h:312
THR_LOCK_DATA lock
Definition: myisamdef.h:327
index_cond_func_t index_cond_func
Definition: myisamdef.h:322
LIST open_list
Definition: myisamdef.h:308
int tmp_lock_type
Definition: myisamdef.h:304
my_off_t nextpos
Definition: myisamdef.h:282
char * filename
Definition: myisamdef.h:264
uint16 last_used_keyseg
Definition: myisamdef.h:301
bool buff_used
Definition: myisamdef.h:316
bool quick_mode
Definition: myisamdef.h:314
MI_STATUS_INFO save_state
Definition: myisamdef.h:255
LIST in_use
Definition: myisamdef.h:263
uint int_nod_flag
Definition: myisamdef.h:274
uchar * buff
Definition: myisamdef.h:265
uint32 int_keytree_version
Definition: myisamdef.h:275
TREE * bulk_insert
Definition: myisamdef.h:259
Definition: myisamdef.h:522
uchar * prev_key
Definition: myisamdef.h:526
uint pack_marker
Definition: myisamdef.h:524
uint key_length
Definition: myisamdef.h:523
uint prev_length
Definition: myisamdef.h:524
uint n_ref_length
Definition: myisamdef.h:523
uchar * next_key_pos
Definition: myisamdef.h:526
const uchar * key
Definition: myisamdef.h:525
uint totlength
Definition: myisamdef.h:523
uint n_length
Definition: myisamdef.h:523
uint ref_length
Definition: myisamdef.h:523
uint part_of_prev_key
Definition: myisamdef.h:524
bool store_not_null
Definition: myisamdef.h:527
Definition: myisamdef.h:170
uchar version
Definition: myisamdef.h:173
ulong header_length
Definition: myisamdef.h:171
uint ref_length
Definition: myisamdef.h:172
Definition: myisamdef.h:340
uint real_key_length
Definition: myisamdef.h:354
int(* key_read)(MI_SORT_PARAM *, void *)
Definition: myisamdef.h:368
IO_CACHE tempfile
Definition: myisamdef.h:341
uint key
Definition: myisamdef.h:354
int(* write_key)(MI_SORT_PARAM *, IO_CACHE *, uchar *, uint, uint)
Definition: myisamdef.h:372
uchar ** sort_keys
Definition: myisamdef.h:361
my_off_t start_recpos
Definition: myisamdef.h:353
bool fix_datafile
Definition: myisamdef.h:356
uchar * record
Definition: myisamdef.h:365
void * wordptr
Definition: myisamdef.h:363
bool calc_checksum
Definition: myisamdef.h:357
uint sort_keys_length
Definition: myisamdef.h:355
HA_KEYSEG * seg
Definition: myisamdef.h:359
void * wordlist
Definition: myisamdef.h:363
ulonglong sortbuff_size
Definition: myisamdef.h:351
uint maxbuffers
Definition: myisamdef.h:355
MI_BIT_BUFF bit_buff
Definition: myisamdef.h:343
int(* key_write)(MI_SORT_PARAM *, const void *)
Definition: myisamdef.h:369
uint keys
Definition: myisamdef.h:355
my_off_t pos
Definition: myisamdef.h:353
my_off_t filepos
Definition: myisamdef.h:353
int(* key_cmp)(void *, uchar *, uchar *)
Definition: myisamdef.h:367
MY_TMPDIR * tmpdir
Definition: myisamdef.h:366
uint(* read_to_buffer)(IO_CACHE *, BUFFPEK *, uint)
Definition: myisamdef.h:371
DYNAMIC_ARRAY buffpek
Definition: myisamdef.h:342
bool master
Definition: myisamdef.h:356
my_off_t max_pos
Definition: myisamdef.h:353
SORT_INFO * sort_info
Definition: myisamdef.h:360
IO_CACHE tempfile_for_exceptions
Definition: myisamdef.h:341
uint find_length
Definition: myisamdef.h:355
uint key_length
Definition: myisamdef.h:354
ulonglong notnull[MI_MAX_KEY_SEG+1]
Definition: myisamdef.h:350
MI_KEYDEF * keyinfo
Definition: myisamdef.h:358
IO_CACHE read_cache
Definition: myisamdef.h:341
uchar * rec_buff
Definition: myisamdef.h:362
ulonglong unique[MI_MAX_KEY_SEG+1]
Definition: myisamdef.h:349
int(* write_keys)(MI_SORT_PARAM *, uchar **, uint, BUFFPEK *, IO_CACHE *)
Definition: myisamdef.h:370
MEM_ROOT wordroot
Definition: myisamdef.h:364
Definition: myisamdef.h:69
ulong sec_index_changed
Definition: myisamdef.h:100
my_off_t * key_del
Definition: myisamdef.h:97
ulong version
Definition: myisamdef.h:104
uchar language
Definition: myisamdef.h:81
my_off_t rec_per_key_rows
Definition: myisamdef.h:98
uint sortkey
Definition: myisamdef.h:108
time_t recover_time
Definition: myisamdef.h:106
ha_checksum checksum
Definition: myisamdef.h:103
uchar header_length[2]
Definition: myisamdef.h:73
uint state_diff_length
Definition: myisamdef.h:113
uchar file_version[4]
Definition: myisamdef.h:71
ulonglong auto_increment
Definition: myisamdef.h:90
uint state_length
Definition: myisamdef.h:114
ulong * key_info
Definition: myisamdef.h:115
ha_rows split
Definition: myisamdef.h:88
ulong * rec_per_key_part
Definition: myisamdef.h:95
uchar max_block_size_index
Definition: myisamdef.h:82
uchar keys
Definition: myisamdef.h:79
ulong status
Definition: myisamdef.h:94
uchar state_info_length[2]
Definition: myisamdef.h:74
my_off_t * key_root
Definition: myisamdef.h:96
MI_STATUS_INFO state
Definition: myisamdef.h:87
ulong unique
Definition: myisamdef.h:92
uint open_count
Definition: myisamdef.h:109
uchar uniques
Definition: myisamdef.h:80
uint8 changed
Definition: myisamdef.h:110
uchar fulltext_keys
Definition: myisamdef.h:83
uchar base_info_length[2]
Definition: myisamdef.h:75
uchar key_parts[2]
Definition: myisamdef.h:77
time_t create_time
Definition: myisamdef.h:105
ulong process
Definition: myisamdef.h:91
uchar unique_key_parts[2]
Definition: myisamdef.h:78
time_t check_time
Definition: myisamdef.h:107
uchar not_used
Definition: myisamdef.h:84
my_off_t dellink
Definition: myisamdef.h:89
uchar base_pos[2]
Definition: myisamdef.h:76
struct MI_STATE_INFO::@206 header
ulonglong key_map
Definition: myisamdef.h:102
ulong sec_index_used
Definition: myisamdef.h:101
ulong update_count
Definition: myisamdef.h:93
Definition: myisamdef.h:58
my_off_t data_file_length
Definition: myisamdef.h:64
my_off_t key_empty
Definition: myisamdef.h:62
my_off_t empty
Definition: myisamdef.h:61
ha_rows del
Definition: myisamdef.h:60
ha_checksum checksum
Definition: myisamdef.h:65
bool uncacheable
Definition: myisamdef.h:66
ha_rows records
Definition: myisamdef.h:59
my_off_t key_file_length
Definition: myisamdef.h:63
Definition: myisamdef.h:178
uint w_locks
Definition: myisamdef.h:222
bool concurrent_insert
Definition: myisamdef.h:231
ulong max_pack_length
Definition: myisamdef.h:213
size_t(* file_read)(MI_INFO *, uchar *, size_t, my_off_t, myf)
Definition: myisamdef.h:206
MI_KEYDEF ft2_keyinfo
Definition: myisamdef.h:181
mysql_rwlock_t * key_root_lock
Definition: myisamdef.h:235
uint tot_locks
Definition: myisamdef.h:222
char * index_file_name
Definition: myisamdef.h:191
ulong last_process
Definition: myisamdef.h:209
myf write_flag
Definition: myisamdef.h:224
MI_DECODE_TREE * decode_trees
Definition: myisamdef.h:194
MI_BASE_INFO base
Definition: myisamdef.h:180
uchar * file_map
Definition: myisamdef.h:192
int(* update_record)(MI_INFO *, my_off_t, const uchar *)
Definition: myisamdef.h:198
MI_UNIQUEDEF * uniqueinfo
Definition: myisamdef.h:183
File kfile
Definition: myisamdef.h:218
ha_checksum(* calc_checksum)(MI_INFO *, const uchar *)
Definition: myisamdef.h:203
char * unique_file_name
Definition: myisamdef.h:189
bool have_rtree
Definition: myisamdef.h:231
bool global_changed
Definition: myisamdef.h:230
LIST * in_use
Definition: myisamdef.h:188
MI_BLOB * blobs
Definition: myisamdef.h:187
uint32 ftkeys
Definition: myisamdef.h:217
int(* compare_unique)(MI_INFO *, MI_UNIQUEDEF *, const uchar *record, my_off_t pos)
Definition: myisamdef.h:204
bool temporary
Definition: myisamdef.h:231
bool changed
Definition: myisamdef.h:229
KEY_CACHE * key_cache
Definition: myisamdef.h:193
int(* compare_record)(MI_INFO *, const uchar *)
Definition: myisamdef.h:201
uint unique_name_length
Definition: myisamdef.h:216
HA_KEYSEG * keyparts
Definition: myisamdef.h:184
ulong last_version
Definition: myisamdef.h:210
uint blocksize
Definition: myisamdef.h:223
MI_STATE_INFO state
Definition: myisamdef.h:179
int(* delete_record)(MI_INFO *)
Definition: myisamdef.h:199
uint r_locks
Definition: myisamdef.h:222
char * data_file_name
Definition: myisamdef.h:190
uint rec_reflength
Definition: myisamdef.h:215
uint16 * decode_tables
Definition: myisamdef.h:195
uint nonmmaped_inserts
Definition: myisamdef.h:237
int(* write_record)(MI_INFO *, const uchar *)
Definition: myisamdef.h:197
int(* read_rnd)(MI_INFO *, uchar *, my_off_t, bool)
Definition: myisamdef.h:200
uint reopen
Definition: myisamdef.h:221
MI_COLUMNDEF * rec
Definition: myisamdef.h:185
mysql_mutex_t intern_lock
Definition: myisamdef.h:234
MI_PACK pack
Definition: myisamdef.h:186
mysql_rwlock_t mmap_lock
Definition: myisamdef.h:239
bool is_log_table
Definition: myisamdef.h:227
my_off_t mmaped_length
Definition: myisamdef.h:236
File data_file
Definition: myisamdef.h:219
bool delay_key_write
Definition: myisamdef.h:231
THR_LOCK lock
Definition: myisamdef.h:233
ulong state_diff_length
Definition: myisamdef.h:214
enum data_file_type data_file_type
Definition: myisamdef.h:225
ulong this_process
Definition: myisamdef.h:208
bool not_flushed
Definition: myisamdef.h:231
ulong min_pack_length
Definition: myisamdef.h:212
MI_KEYDEF * keyinfo
Definition: myisamdef.h:182
ulong options
Definition: myisamdef.h:211
int mode
Definition: myisamdef.h:220
int(* read_record)(MI_INFO *, my_off_t, uchar *)
Definition: myisamdef.h:196
size_t(* file_write)(MI_INFO *, const uchar *, size_t, my_off_t, myf)
Definition: myisamdef.h:207
Definition: plugin_ftparser.h:195
Definition: thr_lock.h:124
Definition: thr_lock.h:139
An instrumented mutex structure.
Definition: mysql_mutex_bits.h:50
An instrumented rwlock structure.
Definition: mysql_rwlock_bits.h:51
Definition: keycache.h:50
command
Definition: version_token.cc:280