62#define KEY_CACHE_SIZE (uint)(8 * 1024 * 1024)
64#define KEY_CACHE_BLOCK_SIZE (uint)1024
66#define CHANGED_BLOCKS_HASH 128
138 size_t use_mem,
ulonglong division_limit,
142 ulonglong key_cache_block_size,
size_t use_mem,
147 uint
length, uint block_length,
int return_buffer);
155 uint
length, uint block_length,
int force_write);
app_data_ptr new_data(u_int n, char *val, cons_type consensus)
flush_type
Definition: my_sys.h:297
void end_key_cache(KEY_CACHE *keycache, bool cleanup)
Definition: mf_keycache.cc:602
bool multi_keycache_init(void)
Definition: mf_keycaches.cc:264
KEY_CACHE dflt_key_cache_var
Definition: mf_keycache.cc:209
int key_cache_insert(KEY_CACHE *keycache, st_keycache_thread_var *thread_var, File file, my_off_t filepos, int level, uchar *buff, uint length)
Definition: mf_keycache.cc:2298
void multi_keycache_free(void)
Definition: mf_keycaches.cc:268
bool multi_key_cache_set(const uchar *key, uint length, KEY_CACHE *key_cache)
Definition: mf_keycaches.cc:307
#define CHANGED_BLOCKS_HASH
Definition: keycache.h:66
int init_key_cache(KEY_CACHE *keycache, ulonglong key_cache_block_size, size_t use_mem, ulonglong division_limit, ulonglong age_threshold)
Definition: mf_keycache.cc:272
int reset_key_cache_counters(std::string_view name, KEY_CACHE *key_cache)
Definition: mf_keycache.cc:3602
int flush_key_blocks(KEY_CACHE *keycache, st_keycache_thread_var *thread_var, int file, enum flush_type type)
Definition: mf_keycache.cc:3441
void multi_key_cache_change(KEY_CACHE *old_data, KEY_CACHE *new_data)
Definition: mf_keycaches.cc:311
KEY_CACHE * multi_key_cache_search(uchar *key, uint length)
Definition: mf_keycaches.cc:287
KEY_CACHE * dflt_key_cache
Definition: keycache.h:135
uchar * key_cache_read(KEY_CACHE *keycache, st_keycache_thread_var *thread_var, File file, my_off_t filepos, int level, uchar *buff, uint length, uint block_length, int return_buffer)
Definition: mf_keycache.cc:2111
int resize_key_cache(KEY_CACHE *keycache, st_keycache_thread_var *thread_var, ulonglong key_cache_block_size, size_t use_mem, ulonglong division_limit, ulonglong age_threshold)
Definition: mf_keycache.cc:449
int key_cache_write(KEY_CACHE *keycache, st_keycache_thread_var *thread_var, File file, my_off_t filepos, int level, uchar *buff, uint length, uint block_length, int force_write)
Definition: mf_keycache.cc:2523
Some integer typedefs for easier portability.
unsigned long long int ulonglong
Definition: my_inttypes.h:56
ulonglong my_off_t
Definition: my_inttypes.h:72
unsigned char uchar
Definition: my_inttypes.h:52
Common #defines and includes for file and socket I/O.
int File
Definition: my_io_bits.h:51
Common header for many mysys elements.
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
Instrumentation helpers for conditions.
Instrumentation helpers for mutexes.
required string key
Definition: replication_asynchronous_connection_failover.proto:60
required string type
Definition: replication_group_member_actions.proto:34
case opt name
Definition: sslopt-case.h:29
Definition: mf_keycache.cc:191
Definition: mf_keycache.cc:160
Definition: keycache.h:57
st_keycache_thread_var * last_thread
Definition: keycache.h:58
Definition: keycache.h:73
ulonglong global_cache_read
Definition: keycache.h:128
bool can_be_used
Definition: keycache.h:77
BLOCK_LINK * used_ins
Definition: keycache.h:100
HASH_LINK ** hash_root
Definition: keycache.h:93
ulonglong param_division_limit
Definition: keycache.h:120
BLOCK_LINK * used_last
Definition: keycache.h:99
int disk_blocks
Definition: keycache.h:86
ulonglong param_age_threshold
Definition: keycache.h:121
uint hash_entries
Definition: keycache.h:83
int hash_links_used
Definition: keycache.h:85
ulonglong global_cache_r_requests
Definition: keycache.h:127
int blocks
Definition: keycache.h:130
KEYCACHE_WQUEUE resize_queue
Definition: keycache.h:102
ulonglong global_cache_w_requests
Definition: keycache.h:125
ulonglong age_threshold
Definition: keycache.h:81
BLOCK_LINK * file_blocks[CHANGED_BLOCKS_HASH]
Definition: keycache.h:111
bool resize_in_flush
Definition: keycache.h:76
ulonglong global_cache_write
Definition: keycache.h:126
ulonglong param_buff_size
Definition: keycache.h:118
ulong blocks_unused
Definition: keycache.h:88
ulonglong param_block_size
Definition: keycache.h:119
KEYCACHE_WQUEUE waiting_for_resize_cnt
Definition: keycache.h:107
KEYCACHE_WQUEUE waiting_for_hash_link
Definition: keycache.h:108
HASH_LINK * hash_link_root
Definition: keycache.h:94
bool key_cache_inited
Definition: keycache.h:74
KEYCACHE_WQUEUE waiting_for_block
Definition: keycache.h:109
ulong blocks_changed
Definition: keycache.h:89
ulonglong min_warm_blocks
Definition: keycache.h:80
bool in_resize
Definition: keycache.h:75
ulong global_blocks_changed
Definition: keycache.h:124
ulong cnt_for_resize_op
Definition: keycache.h:91
bool in_init
Definition: keycache.h:131
int hash_links
Definition: keycache.h:84
ulong blocks_used
Definition: keycache.h:87
size_t key_cache_mem_size
Definition: keycache.h:78
long blocks_available
Definition: keycache.h:92
ulong warm_blocks
Definition: keycache.h:90
BLOCK_LINK * block_root
Definition: keycache.h:97
BLOCK_LINK * free_block_list
Definition: keycache.h:96
HASH_LINK * free_hash_list
Definition: keycache.h:95
uint key_cache_block_size
Definition: keycache.h:79
BLOCK_LINK * changed_blocks[CHANGED_BLOCKS_HASH]
Definition: keycache.h:110
ulonglong keycache_time
Definition: keycache.h:82
mysql_mutex_t cache_lock
Definition: keycache.h:101
uchar * block_mem
Definition: keycache.h:98
An instrumented cond structure.
Definition: mysql_cond_bits.h:50
An instrumented mutex structure.
Definition: mysql_mutex_bits.h:50
Definition: keycache.h:50
struct st_keycache_thread_var * next
Definition: keycache.h:52
mysql_cond_t suspend
Definition: keycache.h:51
struct st_keycache_thread_var ** prev
Definition: keycache.h:52
void * opt_info
Definition: keycache.h:53