61#define KEY_CACHE_SIZE (uint)(8 * 1024 * 1024)
63#define KEY_CACHE_BLOCK_SIZE (uint)1024
65#define CHANGED_BLOCKS_HASH 128
137 size_t use_mem,
ulonglong division_limit,
141 ulonglong key_cache_block_size,
size_t use_mem,
146 uint
length, uint block_length,
int return_buffer);
154 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:296
void end_key_cache(KEY_CACHE *keycache, bool cleanup)
Definition: mf_keycache.cc:603
bool multi_keycache_init(void)
Definition: mf_keycaches.cc:263
KEY_CACHE dflt_key_cache_var
Definition: mf_keycache.cc:208
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:2299
void multi_keycache_free(void)
Definition: mf_keycaches.cc:267
bool multi_key_cache_set(const uchar *key, uint length, KEY_CACHE *key_cache)
Definition: mf_keycaches.cc:306
#define CHANGED_BLOCKS_HASH
Definition: keycache.h:65
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:273
int reset_key_cache_counters(std::string_view name, KEY_CACHE *key_cache)
Definition: mf_keycache.cc:3603
int flush_key_blocks(KEY_CACHE *keycache, st_keycache_thread_var *thread_var, int file, enum flush_type type)
Definition: mf_keycache.cc:3442
void multi_key_cache_change(KEY_CACHE *old_data, KEY_CACHE *new_data)
Definition: mf_keycaches.cc:310
KEY_CACHE * multi_key_cache_search(uchar *key, uint length)
Definition: mf_keycaches.cc:286
KEY_CACHE * dflt_key_cache
Definition: keycache.h:134
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:2112
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:450
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:2524
Some integer typedefs for easier portability.
unsigned long long int ulonglong
Definition: my_inttypes.h:55
ulonglong my_off_t
Definition: my_inttypes.h:71
unsigned char uchar
Definition: my_inttypes.h:51
Common #defines and includes for file and socket I/O.
int File
Definition: my_io_bits.h:50
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:75
Instrumentation helpers for conditions.
Instrumentation helpers for mutexes.
required string key
Definition: replication_asynchronous_connection_failover.proto:59
required string type
Definition: replication_group_member_actions.proto:33
case opt name
Definition: sslopt-case.h:32
Definition: mf_keycache.cc:190
Definition: mf_keycache.cc:159
Definition: keycache.h:56
st_keycache_thread_var * last_thread
Definition: keycache.h:57
Definition: keycache.h:72
ulonglong global_cache_read
Definition: keycache.h:127
bool can_be_used
Definition: keycache.h:76
BLOCK_LINK * used_ins
Definition: keycache.h:99
HASH_LINK ** hash_root
Definition: keycache.h:92
ulonglong param_division_limit
Definition: keycache.h:119
BLOCK_LINK * used_last
Definition: keycache.h:98
int disk_blocks
Definition: keycache.h:85
ulonglong param_age_threshold
Definition: keycache.h:120
uint hash_entries
Definition: keycache.h:82
int hash_links_used
Definition: keycache.h:84
ulonglong global_cache_r_requests
Definition: keycache.h:126
int blocks
Definition: keycache.h:129
KEYCACHE_WQUEUE resize_queue
Definition: keycache.h:101
ulonglong global_cache_w_requests
Definition: keycache.h:124
ulonglong age_threshold
Definition: keycache.h:80
BLOCK_LINK * file_blocks[CHANGED_BLOCKS_HASH]
Definition: keycache.h:110
bool resize_in_flush
Definition: keycache.h:75
ulonglong global_cache_write
Definition: keycache.h:125
ulonglong param_buff_size
Definition: keycache.h:117
ulong blocks_unused
Definition: keycache.h:87
ulonglong param_block_size
Definition: keycache.h:118
KEYCACHE_WQUEUE waiting_for_resize_cnt
Definition: keycache.h:106
KEYCACHE_WQUEUE waiting_for_hash_link
Definition: keycache.h:107
HASH_LINK * hash_link_root
Definition: keycache.h:93
bool key_cache_inited
Definition: keycache.h:73
KEYCACHE_WQUEUE waiting_for_block
Definition: keycache.h:108
ulong blocks_changed
Definition: keycache.h:88
ulonglong min_warm_blocks
Definition: keycache.h:79
bool in_resize
Definition: keycache.h:74
ulong global_blocks_changed
Definition: keycache.h:123
ulong cnt_for_resize_op
Definition: keycache.h:90
bool in_init
Definition: keycache.h:130
int hash_links
Definition: keycache.h:83
ulong blocks_used
Definition: keycache.h:86
size_t key_cache_mem_size
Definition: keycache.h:77
long blocks_available
Definition: keycache.h:91
ulong warm_blocks
Definition: keycache.h:89
BLOCK_LINK * block_root
Definition: keycache.h:96
BLOCK_LINK * free_block_list
Definition: keycache.h:95
HASH_LINK * free_hash_list
Definition: keycache.h:94
uint key_cache_block_size
Definition: keycache.h:78
BLOCK_LINK * changed_blocks[CHANGED_BLOCKS_HASH]
Definition: keycache.h:109
ulonglong keycache_time
Definition: keycache.h:81
mysql_mutex_t cache_lock
Definition: keycache.h:100
uchar * block_mem
Definition: keycache.h:97
An instrumented cond structure.
Definition: mysql_cond_bits.h:49
An instrumented mutex structure.
Definition: mysql_mutex_bits.h:49
Definition: keycache.h:49
struct st_keycache_thread_var * next
Definition: keycache.h:51
mysql_cond_t suspend
Definition: keycache.h:50
struct st_keycache_thread_var ** prev
Definition: keycache.h:51
void * opt_info
Definition: keycache.h:52