MySQL 8.0.39
Source Code Documentation
|
Handling of multiple key caches. More...
#include <string.h>
#include <sys/types.h>
#include <string>
#include "keycache.h"
#include "m_ctype.h"
#include "map_helpers.h"
#include "my_dbug.h"
#include "my_inttypes.h"
#include "my_sys.h"
#include "mysql/psi/mysql_rwlock.h"
#include "mysql/service_mysql_alloc.h"
#include "mysys/mysys_priv.h"
#include "template_utils.h"
Classes | |
struct | SAFE_HASH_ENTRY |
struct | SAFE_HASH |
Functions | |
static bool | safe_hash_init (SAFE_HASH *hash, uchar *default_value) |
static void | safe_hash_free (SAFE_HASH *hash) |
static uchar * | safe_hash_search (SAFE_HASH *hash, const uchar *key, uint length) |
static bool | safe_hash_set (SAFE_HASH *hash, const uchar *key, uint length, uchar *data) |
static void | safe_hash_change (SAFE_HASH *hash, uchar *old_data, uchar *new_data) |
bool | multi_keycache_init (void) |
void | multi_keycache_free (void) |
KEY_CACHE * | multi_key_cache_search (uchar *key, uint length) |
bool | multi_key_cache_set (const uchar *key, uint length, KEY_CACHE *key_cache) |
void | multi_key_cache_change (KEY_CACHE *old_data, KEY_CACHE *new_data) |
Variables | |
static SAFE_HASH | key_cache_hash |
Handling of multiple key caches.
The idea is to have a thread safe hash on the table name, with a default key cache value that is returned if the table name is not in the cache.
void multi_keycache_free | ( | void | ) |
bool multi_keycache_init | ( | void | ) |
|
static |
|
static |