31#ifndef STORAGE_MYISAM_MYISAMDEF_INCLUDED
32#define STORAGE_MYISAM_MYISAMDEF_INCLUDED 1
119#define MI_STATE_INFO_SIZE (24 + 14 * 8 + 7 * 4 + 2 * 2 + 8)
120#define MI_STATE_KEY_SIZE 8
121#define MI_STATE_KEYBLOCK_SIZE 8
122#define MI_STATE_KEYSEG_SIZE 4
123#define MI_STATE_EXTRA_SIZE \
124 ((MI_MAX_KEY + MI_MAX_KEY_BLOCK_SIZE) * MI_STATE_KEY_SIZE + \
125 MI_MAX_KEY * MI_MAX_KEY_SEG * MI_STATE_KEYSEG_SIZE)
126#define MI_KEYDEF_SIZE (2 + 5 * 2)
127#define MI_UNIQUEDEF_SIZE (2 + 1 + 1)
128#define HA_KEYSEG_SIZE (6 + 2 * 2 + 4 * 2)
129#define MI_COLUMNDEF_SIZE (2 * 3 + 1)
130#define MI_BASE_INFO_SIZE (5 * 8 + 8 * 4 + 4 + 4 * 2 + 16)
131#define MI_INDEX_BLOCK_MARGIN 16
177#define MAX_NONMAPPED_INSERTS 1000
378#define USE_WHOLE_KEY MI_MAX_KEY_BUFF * 2
379#define F_EXTRA_LCK -1
382#define MEMMAP_USED 32
383#define REMEMBER_OLD_POS 64
385#define WRITEINFO_UPDATE_KEYFILE 1
386#define WRITEINFO_NO_UNLOCK 2
389#define USE_PACKED_KEYS 1
390#define RRND_PRESERVE_LASTINX 2
394#define STATE_CHANGED 1
395#define STATE_CRASHED 2
396#define STATE_CRASHED_ON_REPAIR 4
397#define STATE_NOT_ANALYZED 8
398#define STATE_NOT_OPTIMIZED_KEYS 16
399#define STATE_NOT_SORTED_PAGES 32
403#define READING_NEXT 1
404#define READING_HEADER 2
406#define mi_getint(x) ((uint)mi_uint2korr(x) & 32767)
407#define mi_putint(x, y, nod) \
409 uint16 boh = (nod ? (uint16)32768 : 0) + (uint16)(y); \
410 mi_int2store(x, boh); \
412#define mi_test_if_nod(x) (x[0] & 128 ? info->s->base.key_reflength : 0)
413#define mi_report_crashed(A, B) _mi_report_crashed((A), (B), __FILE__, __LINE__)
414#define mi_mark_crashed(x) \
416 (x)->s->state.changed |= STATE_CRASHED; \
417 DBUG_PRINT("error", ("Marked table crashed")); \
418 mi_report_crashed((x), nullptr); \
420#define mi_mark_crashed_on_repair(x) \
422 (x)->s->state.changed |= STATE_CRASHED | STATE_CRASHED_ON_REPAIR; \
423 (x)->update |= HA_STATE_CHANGED; \
424 DBUG_PRINT("error", ("Marked table crashed")); \
426#define mi_is_crashed(x) ((x)->s->state.changed & STATE_CRASHED)
427#define mi_is_crashed_on_repair(x) \
428 ((x)->s->state.changed & STATE_CRASHED_ON_REPAIR)
429#define mi_print_error(SHARE, ERRNO) \
430 mi_report_error((ERRNO), (SHARE)->index_file_name)
434#define store_key_length(key, length) \
436 if ((length) < 255) { \
440 mi_int2store((key) + 1, (length)); \
444#define get_key_full_length(length, key) \
446 if ((uchar) * (key) != 255) \
447 length = ((uint)(uchar) * ((key)++)) + 1; \
449 length = mi_uint2korr((key) + 1) + 3; \
454#define get_key_full_length_rdonly(length, key) \
456 if ((uchar) * (key) != 255) \
457 length = ((uint)(uchar) * ((key))) + 1; \
459 length = mi_uint2korr((key) + 1) + 3; \
463#define get_pack_length(length) ((length) >= 255 ? 3 : 1)
465#define MI_MIN_BLOCK_LENGTH 20U
466#define MI_EXTEND_BLOCK_LENGTH 20
467#define MI_SPLIT_LENGTH ((MI_EXTEND_BLOCK_LENGTH + 4) * 2)
468#define MI_MAX_DYN_BLOCK_HEADER 20
469#define MI_BLOCK_INFO_HEADER_LENGTH 20
470#define MI_DYN_DELETE_BLOCK_HEADER 20
471#define MI_DYN_MAX_BLOCK_LENGTH ((1L << 24) - 4L)
472#define MI_DYN_MAX_ROW_LENGTH (MI_DYN_MAX_BLOCK_LENGTH - MI_SPLIT_LENGTH)
473#define MI_DYN_ALIGN_SIZE 4
474#define MI_MAX_DYN_HEADER_BYTE 13
475#define MI_MAX_BLOCK_LENGTH \
476 ((((ulong)1 << 24) - 1) & (~(ulong)(MI_DYN_ALIGN_SIZE - 1)))
477#define MI_REC_BUFF_OFFSET \
478 ALIGN_SIZE(MI_DYN_DELETE_BLOCK_HEADER + sizeof(uint32))
480#define PACK_TYPE_SELECTED 1
481#define PACK_TYPE_SPACE_FIELDS 2
482#define PACK_TYPE_ZERO_FILL 4
483#define MI_FOUND_WRONG_KEY 32738
485#define MI_MAX_KEY_BLOCK_SIZE \
486 (MI_MAX_KEY_BLOCK_LENGTH / MI_MIN_KEY_BLOCK_LENGTH)
487#define MI_BLOCK_SIZE(key_length, data_pointer, key_pointer, block_size) \
488 (((((key_length) + (data_pointer) + (key_pointer)) * 4 + (key_pointer) + \
493#define MI_MAX_KEYPTR_SIZE 5
494#define MI_MIN_KEYBLOCK_LENGTH 50
496#define MI_MIN_SIZE_BULK_INSERT_TREE 16384
497#define MI_MIN_ROWS_TO_USE_BULK_INSERT 100
498#define MI_MIN_ROWS_TO_DISABLE_INDEXES 100
499#define MI_MIN_ROWS_TO_USE_WRITE_CACHE 10
503#define MI_UNIQUE_HASH_TYPE HA_KEYTYPE_ULONG_INT
504#define mi_unique_store(A, B) mi_int4store((A), (B))
556 my_off_t father_page,
bool insert_last);
558 uchar *buff,
uchar *key_buff,
bool insert_last);
560 uchar *
key, uint *return_key_length,
594 uint key_len, uint nextflag,
my_off_t pos);
596 uchar *
key, uint key_len, uint comp_flag,
597 uchar **ret_pos,
uchar *buff,
bool *was_last_key);
599 uchar *
key, uint key_len, uint comp_flag,
600 uchar **ret_pos,
uchar *buff,
bool *was_last_key);
602 uchar *
key, uint key_len, uint comp_flag,
603 uchar **ret_pos,
uchar *buff,
bool *was_last_key);
617 uint *return_key_length);
625 uint key_length, uint nextflag,
my_off_t pos);
632 int level,
uchar *buff);
643 uint
length,
int re_read_if_possibly);
647#define mi_get_rec_buff_ptr(info, buf) \
648 ((((info)->s->options & HA_OPTION_PACK_RECORD) && (buf)) \
649 ? (buf)-MI_REC_BUFF_OFFSET \
651#define mi_get_rec_buff_len(info, buf) \
652 (*((uint32 *)(mi_get_rec_buff_ptr(info, buf))))
657 ulong packed_length,
bool with_checkum);
694#define BLOCK_DELETED 4
696#define BLOCK_SYNC_ERROR 16
697#define BLOCK_FATAL_ERROR 32
700 ((uint)10 * 4 * (IO_SIZE + 32) + 32)
703#define BUFFERS_WHEN_SORTING 16
704#define MY_HOW_OFTEN_TO_WRITE 1000
705#define WRITE_COUNT MY_HOW_OFTEN_TO_WRITE
706#define INDEX_TMP_EXT ".TMM"
707#define DATA_TMP_EXT ".TMD"
712#define UPDATE_AUTO_INC 8
713#define UPDATE_OPEN_COUNT 16
715#define USE_BUFFER_INIT (((1024L * 512L - MALLOC_OVERHEAD) / IO_SIZE) * IO_SIZE)
716#define READ_BUFFER_INIT (1024L * 256L - MALLOC_OVERHEAD)
717#define SORT_BUFFER_INIT (2048L * 1024L - MALLOC_OVERHEAD)
718#define MIN_SORT_BUFFER (4096ULL - MALLOC_OVERHEAD)
731#define myisam_log(a, b, c, d) \
732 if (myisam_log_file >= 0) _myisam_log(a, b, c, d)
733#define myisam_log_command(a, b, c, d, e) \
734 if (myisam_log_file >= 0) _myisam_log_command(a, b, c, d, e)
735#define myisam_log_record(a, b, c, d, e) \
736 if (myisam_log_file >= 0) _myisam_log_record(a, b, c, d, e)
738#define fast_mi_writeinfo(INFO) \
739 if (!(INFO)->s->tot_locks) (void)_mi_writeinfo((INFO), 0)
740#define fast_mi_readinfo(INFO) \
741 ((INFO)->lock_type == F_UNLCK) && _mi_readinfo((INFO), F_RDLCK, 1)
802 bool null_are_equal);
827 MY_ATTRIBUTE((format(printf, 2, 3)));
829 MY_ATTRIBUTE((format(printf, 2, 3)));
831 MY_ATTRIBUTE((format(printf, 2, 3)));
847#ifdef HAVE_PSI_INTERFACE
int page
Definition: ctype-mb.cc:1224
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:719
@ MI_LOG_EXTRA
Definition: myisamdef.h:725
@ MI_LOG_UPDATE
Definition: myisamdef.h:722
@ MI_LOG_DELETE_ALL
Definition: myisamdef.h:727
@ MI_LOG_DELETE
Definition: myisamdef.h:723
@ MI_LOG_OPEN
Definition: myisamdef.h:720
@ MI_LOG_LOCK
Definition: myisamdef.h:726
@ MI_LOG_WRITE
Definition: myisamdef.h:721
@ MI_LOG_CLOSE
Definition: myisamdef.h:724
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:855
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:265
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:580
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:602
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:210
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:469
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:516
uint mi_bit_type
Definition: myisamdef.h:243
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:250
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:573
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:406
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:853
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:856
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:515
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:518
PSI_file_key mi_key_file_dfile
Definition: myisamdef.h:855
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:850
int _create_index_by_sort(MI_SORT_PARAM *info, bool no_messages, ulonglong)
Definition: sort.cc:110
ICP_RESULT(* index_cond_func_t)(void *param)
Definition: myisamdef.h:252
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:559
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:564
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:582
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:193
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:333
ulong mem_count
Definition: myisamdef.h:337
uchar * key
Definition: myisamdef.h:335
uchar * base
Definition: myisamdef.h:335
ha_rows count
Definition: myisamdef.h:336
my_off_t file_pos
Definition: myisamdef.h:334
ulong max_keys
Definition: myisamdef.h:338
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:133
uint all_key_parts
Definition: myisamdef.h:159
uint keys
Definition: myisamdef.h:149
uint key_reflength
Definition: myisamdef.h:148
uint rec_reflength
Definition: myisamdef.h:147
my_off_t margin_key_file_length
Definition: myisamdef.h:137
my_off_t keystart
Definition: myisamdef.h:134
uint max_key_block_length
Definition: myisamdef.h:153
ulong reclength
Definition: myisamdef.h:140
ha_rows records
Definition: myisamdef.h:138
uint pack_bits
Definition: myisamdef.h:152
ulong pack_reclength
Definition: myisamdef.h:141
ulong fields
Definition: myisamdef.h:145
ulong min_block_length
Definition: myisamdef.h:144
my_off_t max_key_file_length
Definition: myisamdef.h:136
uint key_parts
Definition: myisamdef.h:159
uint extra_alloc_procent
Definition: myisamdef.h:157
ulong mean_row_length
Definition: myisamdef.h:139
uint max_key_length
Definition: myisamdef.h:154
uint extra_alloc_bytes
Definition: myisamdef.h:156
ulong pack_fields
Definition: myisamdef.h:146
my_off_t max_data_file_length
Definition: myisamdef.h:135
uint blobs
Definition: myisamdef.h:151
ulong min_pack_length
Definition: myisamdef.h:142
uint auto_key
Definition: myisamdef.h:150
ha_rows reloc
Definition: myisamdef.h:138
ulong max_pack_length
Definition: myisamdef.h:143
Definition: myisamdef.h:245
uint bits
Definition: myisamdef.h:247
uchar * pos
Definition: myisamdef.h:248
uchar * blob_end
Definition: myisamdef.h:248
uchar * blob_pos
Definition: myisamdef.h:248
uint error
Definition: myisamdef.h:249
uchar * end
Definition: myisamdef.h:248
mi_bit_type current_byte
Definition: myisamdef.h:246
Definition: myisamdef.h:165
ulong length
Definition: myisamdef.h:168
ulong offset
Definition: myisamdef.h:166
uint pack_length
Definition: myisamdef.h:167
Definition: myisamdef.h:677
my_off_t next_filepos
Definition: myisamdef.h:684
uint second_read
Definition: myisamdef.h:686
uchar header[MI_BLOCK_INFO_HEADER_LENGTH]
Definition: myisamdef.h:678
my_off_t prev_filepos
Definition: myisamdef.h:685
my_off_t filepos
Definition: myisamdef.h:683
ulong rec_len
Definition: myisamdef.h:679
uint offset
Definition: myisamdef.h:687
ulong data_len
Definition: myisamdef.h:680
ulong block_len
Definition: myisamdef.h:681
ulong blob_len
Definition: myisamdef.h:682
Definition: myisamdef.h:254
my_off_t last_keypage
Definition: myisamdef.h:286
MI_STATUS_INFO * state
Definition: myisamdef.h:256
MI_BLOB * blobs
Definition: myisamdef.h:257
MYSQL_FTPARSER_PARAM * ftparser_param
Definition: myisamdef.h:263
uint save_lastkey_length
Definition: myisamdef.h:300
IO_CACHE rec_cache
Definition: myisamdef.h:310
myf lock_wait
Definition: myisamdef.h:312
uint last_rkey_length
Definition: myisamdef.h:298
MEM_ROOT ft_memroot
Definition: myisamdef.h:262
uchar * int_maxpos
Definition: myisamdef.h:274
uint opt_flag
Definition: myisamdef.h:294
my_off_t lastpos
Definition: myisamdef.h:282
ulong last_unique
Definition: myisamdef.h:279
uint8 once_flags
Definition: myisamdef.h:318
my_off_t save_lastpos
Definition: myisamdef.h:284
my_off_t last_search_keypage
Definition: myisamdef.h:287
int(* read_record)(MI_INFO *, my_off_t, uchar *)
Definition: myisamdef.h:277
int errkey
Definition: myisamdef.h:303
ulong this_unique
Definition: myisamdef.h:278
ulong packed_length
Definition: myisamdef.h:292
bool page_changed
Definition: myisamdef.h:316
uint data_changed
Definition: myisamdef.h:306
uint preload_buff_size
Definition: myisamdef.h:311
int dfile
Definition: myisamdef.h:293
uint update
Definition: myisamdef.h:295
uchar * rec_buff
Definition: myisamdef.h:272
int rtree_recursion_depth
Definition: myisamdef.h:330
ulong blob_length
Definition: myisamdef.h:292
my_off_t pos
Definition: myisamdef.h:285
bool append_insert_at_end
Definition: myisamdef.h:314
uint pack_key_length
Definition: myisamdef.h:301
uchar * int_keypos
Definition: myisamdef.h:273
uint lastkey_length
Definition: myisamdef.h:297
uchar * lastkey2
Definition: myisamdef.h:267
int save_lastinx
Definition: myisamdef.h:308
uchar * rtree_recursion_state
Definition: myisamdef.h:329
uchar * rnext_same_key
Definition: myisamdef.h:270
my_off_t dupp_key_pos
Definition: myisamdef.h:288
ulong this_loop
Definition: myisamdef.h:280
uint save_update
Definition: myisamdef.h:307
int lock_type
Definition: myisamdef.h:304
uchar * lastkey
Definition: myisamdef.h:267
MYISAM_SHARE * s
Definition: myisamdef.h:255
uchar * first_mbr_key
Definition: myisamdef.h:271
DYNAMIC_ARRAY * ft1_to_ft2
Definition: myisamdef.h:261
bool set_rnext_same_key
Definition: myisamdef.h:321
MI_BIT_BUFF bit_buff
Definition: myisamdef.h:258
void * index_cond_func_arg
Definition: myisamdef.h:324
int lastinx
Definition: myisamdef.h:296
ha_checksum checksum
Definition: myisamdef.h:289
enum ha_rkey_function last_key_func
Definition: myisamdef.h:299
ulong last_loop
Definition: myisamdef.h:281
bool was_locked
Definition: myisamdef.h:313
THR_LOCK_DATA lock
Definition: myisamdef.h:328
index_cond_func_t index_cond_func
Definition: myisamdef.h:323
LIST open_list
Definition: myisamdef.h:309
int tmp_lock_type
Definition: myisamdef.h:305
my_off_t nextpos
Definition: myisamdef.h:283
char * filename
Definition: myisamdef.h:265
uint16 last_used_keyseg
Definition: myisamdef.h:302
bool buff_used
Definition: myisamdef.h:317
bool quick_mode
Definition: myisamdef.h:315
MI_STATUS_INFO save_state
Definition: myisamdef.h:256
LIST in_use
Definition: myisamdef.h:264
uint int_nod_flag
Definition: myisamdef.h:275
uchar * buff
Definition: myisamdef.h:266
uint32 int_keytree_version
Definition: myisamdef.h:276
TREE * bulk_insert
Definition: myisamdef.h:260
Definition: myisamdef.h:523
uchar * prev_key
Definition: myisamdef.h:527
uint pack_marker
Definition: myisamdef.h:525
uint key_length
Definition: myisamdef.h:524
uint prev_length
Definition: myisamdef.h:525
uint n_ref_length
Definition: myisamdef.h:524
uchar * next_key_pos
Definition: myisamdef.h:527
const uchar * key
Definition: myisamdef.h:526
uint totlength
Definition: myisamdef.h:524
uint n_length
Definition: myisamdef.h:524
uint ref_length
Definition: myisamdef.h:524
uint part_of_prev_key
Definition: myisamdef.h:525
bool store_not_null
Definition: myisamdef.h:528
Definition: myisamdef.h:171
uchar version
Definition: myisamdef.h:174
ulong header_length
Definition: myisamdef.h:172
uint ref_length
Definition: myisamdef.h:173
Definition: myisamdef.h:341
uint real_key_length
Definition: myisamdef.h:355
int(* key_read)(MI_SORT_PARAM *, void *)
Definition: myisamdef.h:369
IO_CACHE tempfile
Definition: myisamdef.h:342
uint key
Definition: myisamdef.h:355
int(* write_key)(MI_SORT_PARAM *, IO_CACHE *, uchar *, uint, uint)
Definition: myisamdef.h:373
uchar ** sort_keys
Definition: myisamdef.h:362
my_off_t start_recpos
Definition: myisamdef.h:354
bool fix_datafile
Definition: myisamdef.h:357
uchar * record
Definition: myisamdef.h:366
void * wordptr
Definition: myisamdef.h:364
bool calc_checksum
Definition: myisamdef.h:358
uint sort_keys_length
Definition: myisamdef.h:356
HA_KEYSEG * seg
Definition: myisamdef.h:360
void * wordlist
Definition: myisamdef.h:364
ulonglong sortbuff_size
Definition: myisamdef.h:352
uint maxbuffers
Definition: myisamdef.h:356
MI_BIT_BUFF bit_buff
Definition: myisamdef.h:344
int(* key_write)(MI_SORT_PARAM *, const void *)
Definition: myisamdef.h:370
uint keys
Definition: myisamdef.h:356
my_off_t pos
Definition: myisamdef.h:354
my_off_t filepos
Definition: myisamdef.h:354
int(* key_cmp)(void *, uchar *, uchar *)
Definition: myisamdef.h:368
MY_TMPDIR * tmpdir
Definition: myisamdef.h:367
uint(* read_to_buffer)(IO_CACHE *, BUFFPEK *, uint)
Definition: myisamdef.h:372
DYNAMIC_ARRAY buffpek
Definition: myisamdef.h:343
bool master
Definition: myisamdef.h:357
my_off_t max_pos
Definition: myisamdef.h:354
SORT_INFO * sort_info
Definition: myisamdef.h:361
IO_CACHE tempfile_for_exceptions
Definition: myisamdef.h:342
uint find_length
Definition: myisamdef.h:356
uint key_length
Definition: myisamdef.h:355
ulonglong notnull[MI_MAX_KEY_SEG+1]
Definition: myisamdef.h:351
MI_KEYDEF * keyinfo
Definition: myisamdef.h:359
IO_CACHE read_cache
Definition: myisamdef.h:342
uchar * rec_buff
Definition: myisamdef.h:363
ulonglong unique[MI_MAX_KEY_SEG+1]
Definition: myisamdef.h:350
int(* write_keys)(MI_SORT_PARAM *, uchar **, uint, BUFFPEK *, IO_CACHE *)
Definition: myisamdef.h:371
MEM_ROOT wordroot
Definition: myisamdef.h:365
Definition: myisamdef.h:70
ulong sec_index_changed
Definition: myisamdef.h:101
my_off_t * key_del
Definition: myisamdef.h:98
ulong version
Definition: myisamdef.h:105
uchar language
Definition: myisamdef.h:82
my_off_t rec_per_key_rows
Definition: myisamdef.h:99
uint sortkey
Definition: myisamdef.h:109
time_t recover_time
Definition: myisamdef.h:107
ha_checksum checksum
Definition: myisamdef.h:104
uchar header_length[2]
Definition: myisamdef.h:74
uint state_diff_length
Definition: myisamdef.h:114
uchar file_version[4]
Definition: myisamdef.h:72
ulonglong auto_increment
Definition: myisamdef.h:91
uint state_length
Definition: myisamdef.h:115
ulong * key_info
Definition: myisamdef.h:116
ha_rows split
Definition: myisamdef.h:89
struct MI_STATE_INFO::@208 header
ulong * rec_per_key_part
Definition: myisamdef.h:96
uchar max_block_size_index
Definition: myisamdef.h:83
uchar keys
Definition: myisamdef.h:80
ulong status
Definition: myisamdef.h:95
uchar state_info_length[2]
Definition: myisamdef.h:75
my_off_t * key_root
Definition: myisamdef.h:97
MI_STATUS_INFO state
Definition: myisamdef.h:88
ulong unique
Definition: myisamdef.h:93
uint open_count
Definition: myisamdef.h:110
uchar uniques
Definition: myisamdef.h:81
uint8 changed
Definition: myisamdef.h:111
uchar fulltext_keys
Definition: myisamdef.h:84
uchar base_info_length[2]
Definition: myisamdef.h:76
uchar key_parts[2]
Definition: myisamdef.h:78
time_t create_time
Definition: myisamdef.h:106
ulong process
Definition: myisamdef.h:92
uchar unique_key_parts[2]
Definition: myisamdef.h:79
time_t check_time
Definition: myisamdef.h:108
uchar not_used
Definition: myisamdef.h:85
my_off_t dellink
Definition: myisamdef.h:90
uchar base_pos[2]
Definition: myisamdef.h:77
ulonglong key_map
Definition: myisamdef.h:103
ulong sec_index_used
Definition: myisamdef.h:102
ulong update_count
Definition: myisamdef.h:94
Definition: myisamdef.h:59
my_off_t data_file_length
Definition: myisamdef.h:65
my_off_t key_empty
Definition: myisamdef.h:63
my_off_t empty
Definition: myisamdef.h:62
ha_rows del
Definition: myisamdef.h:61
ha_checksum checksum
Definition: myisamdef.h:66
bool uncacheable
Definition: myisamdef.h:67
ha_rows records
Definition: myisamdef.h:60
my_off_t key_file_length
Definition: myisamdef.h:64
Definition: myisamdef.h:179
uint w_locks
Definition: myisamdef.h:223
bool concurrent_insert
Definition: myisamdef.h:232
ulong max_pack_length
Definition: myisamdef.h:214
size_t(* file_read)(MI_INFO *, uchar *, size_t, my_off_t, myf)
Definition: myisamdef.h:207
MI_KEYDEF ft2_keyinfo
Definition: myisamdef.h:182
mysql_rwlock_t * key_root_lock
Definition: myisamdef.h:236
uint tot_locks
Definition: myisamdef.h:223
char * index_file_name
Definition: myisamdef.h:192
ulong last_process
Definition: myisamdef.h:210
myf write_flag
Definition: myisamdef.h:225
MI_DECODE_TREE * decode_trees
Definition: myisamdef.h:195
MI_BASE_INFO base
Definition: myisamdef.h:181
uchar * file_map
Definition: myisamdef.h:193
int(* update_record)(MI_INFO *, my_off_t, const uchar *)
Definition: myisamdef.h:199
MI_UNIQUEDEF * uniqueinfo
Definition: myisamdef.h:184
File kfile
Definition: myisamdef.h:219
ha_checksum(* calc_checksum)(MI_INFO *, const uchar *)
Definition: myisamdef.h:204
char * unique_file_name
Definition: myisamdef.h:190
bool have_rtree
Definition: myisamdef.h:232
bool global_changed
Definition: myisamdef.h:231
LIST * in_use
Definition: myisamdef.h:189
MI_BLOB * blobs
Definition: myisamdef.h:188
uint32 ftkeys
Definition: myisamdef.h:218
int(* compare_unique)(MI_INFO *, MI_UNIQUEDEF *, const uchar *record, my_off_t pos)
Definition: myisamdef.h:205
bool temporary
Definition: myisamdef.h:232
bool changed
Definition: myisamdef.h:230
KEY_CACHE * key_cache
Definition: myisamdef.h:194
int(* compare_record)(MI_INFO *, const uchar *)
Definition: myisamdef.h:202
uint unique_name_length
Definition: myisamdef.h:217
HA_KEYSEG * keyparts
Definition: myisamdef.h:185
ulong last_version
Definition: myisamdef.h:211
uint blocksize
Definition: myisamdef.h:224
MI_STATE_INFO state
Definition: myisamdef.h:180
int(* delete_record)(MI_INFO *)
Definition: myisamdef.h:200
uint r_locks
Definition: myisamdef.h:223
char * data_file_name
Definition: myisamdef.h:191
uint rec_reflength
Definition: myisamdef.h:216
uint16 * decode_tables
Definition: myisamdef.h:196
uint nonmmaped_inserts
Definition: myisamdef.h:238
int(* write_record)(MI_INFO *, const uchar *)
Definition: myisamdef.h:198
int(* read_rnd)(MI_INFO *, uchar *, my_off_t, bool)
Definition: myisamdef.h:201
uint reopen
Definition: myisamdef.h:222
MI_COLUMNDEF * rec
Definition: myisamdef.h:186
mysql_mutex_t intern_lock
Definition: myisamdef.h:235
MI_PACK pack
Definition: myisamdef.h:187
mysql_rwlock_t mmap_lock
Definition: myisamdef.h:240
bool is_log_table
Definition: myisamdef.h:228
my_off_t mmaped_length
Definition: myisamdef.h:237
File data_file
Definition: myisamdef.h:220
bool delay_key_write
Definition: myisamdef.h:232
THR_LOCK lock
Definition: myisamdef.h:234
ulong state_diff_length
Definition: myisamdef.h:215
enum data_file_type data_file_type
Definition: myisamdef.h:226
ulong this_process
Definition: myisamdef.h:209
bool not_flushed
Definition: myisamdef.h:232
ulong min_pack_length
Definition: myisamdef.h:213
MI_KEYDEF * keyinfo
Definition: myisamdef.h:183
ulong options
Definition: myisamdef.h:212
int mode
Definition: myisamdef.h:221
int(* read_record)(MI_INFO *, my_off_t, uchar *)
Definition: myisamdef.h:197
size_t(* file_write)(MI_INFO *, const uchar *, size_t, my_off_t, myf)
Definition: myisamdef.h:208
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