MySQL 8.4.3
Source Code Documentation
|
#include "sql/sp_cache.h"
#include <stddef.h>
#include <atomic>
#include <memory>
#include <string>
#include "lex_string.h"
#include "map_helpers.h"
#include "my_dbug.h"
#include "mysql/strings/m_ctype.h"
#include "sql/psi_memory_key.h"
#include "sql/sp_head.h"
Classes | |
class | sp_cache |
struct | sp_cache::sp_head_deleter |
Functions | |
void | sp_cache_clear (sp_cache **cp) |
void | sp_cache_insert (sp_cache **cp, sp_head *sp) |
sp_head * | sp_cache_lookup (sp_cache **cp, const sp_name *name) |
void | sp_cache_invalidate () |
void | sp_cache_flush_obsolete (sp_cache **cp, sp_head **sp) |
Remove an out-of-date SP from the cache. More... | |
int64 | sp_cache_version () |
Return the current global version of the cache. More... | |
void | sp_cache_enforce_limit (sp_cache *c, ulong upper_limit_for_elements) |
Enforce that the current number of elements in the cache don't exceed the argument value by flushing the cache if necessary. More... | |
bool | sp_cache_has (sp_cache *cp, sp_head *sp) |
Check if the sp_cache contains the specified stored program. More... | |
Variables | |
static std::atomic< int64 > | atomic_Cversion {0} |
void sp_cache_clear | ( | sp_cache ** | cp | ) |
void sp_cache_enforce_limit | ( | sp_cache * | c, |
ulong | upper_limit_for_elements | ||
) |
Enforce that the current number of elements in the cache don't exceed the argument value by flushing the cache if necessary.
[in] | c | Cache to check |
[in] | upper_limit_for_elements | Soft upper limit for number of sp_head objects that can be stored in the cache. |
Remove an out-of-date SP from the cache.
[in] | cp | Cache to flush |
[in] | sp | SP to remove. |
Check if the sp_cache contains the specified stored program.
[in] | cp | - the sp_cache that is to be checked. |
[in] | sp | - the stored program that needs to be part of that cache. |
void sp_cache_invalidate | ( | ) |
int64 sp_cache_version | ( | ) |
Return the current global version of the cache.
|
static |