84
84
HASH_LINK *free_hash_list; /* list of free hash links */
85
85
BLOCK_LINK *free_block_list; /* list of free blocks */
86
86
BLOCK_LINK *block_root; /* memory for block links */
87
uchar *block_mem; /* memory for block buffers */
87
unsigned char *block_mem; /* memory for block buffers */
88
88
BLOCK_LINK *used_last; /* ptr to the last block of the LRU chain */
89
89
BLOCK_LINK *used_ins; /* ptr to the insertion block in LRU chain */
90
90
pthread_mutex_t cache_lock; /* to lock access to the cache structure */
131
131
uint age_threshold);
132
132
extern void change_key_cache_param(KEY_CACHE *keycache, uint division_limit,
133
133
uint age_threshold);
134
extern uchar *key_cache_read(KEY_CACHE *keycache,
134
extern unsigned char *key_cache_read(KEY_CACHE *keycache,
135
135
File file, my_off_t filepos, int level,
136
uchar *buff, uint length,
136
unsigned char *buff, uint length,
137
137
uint block_length,int return_buffer);
138
138
extern int key_cache_insert(KEY_CACHE *keycache,
139
139
File file, my_off_t filepos, int level,
140
uchar *buff, uint length);
140
unsigned char *buff, uint length);
141
141
extern int key_cache_write(KEY_CACHE *keycache,
142
142
File file, my_off_t filepos, int level,
143
uchar *buff, uint length,
143
unsigned char *buff, uint length,
144
144
uint block_length,int force_write);
145
145
extern int flush_key_blocks(KEY_CACHE *keycache,
146
146
int file, enum flush_type type);
149
149
/* Functions to handle multiple key caches */
150
150
extern bool multi_keycache_init(void);
151
151
extern void multi_keycache_free(void);
152
extern KEY_CACHE *multi_key_cache_search(uchar *key, uint length);
153
extern bool multi_key_cache_set(const uchar *key, uint length,
152
extern KEY_CACHE *multi_key_cache_search(unsigned char *key, uint length);
153
extern bool multi_key_cache_set(const unsigned char *key, uint length,
154
154
KEY_CACHE *key_cache);
155
155
extern void multi_key_cache_change(KEY_CACHE *old_data,
156
156
KEY_CACHE *new_data);