![]() |
MySQL 26.10.0
Source Code Documentation
|
Parsed index cache for redo parsing. More...
#include <log0parsed_index_lru_cache.h>
Classes | |
| struct | Index_deleter |
Public Types | |
| using | sequence = std::basic_string< byte > |
| using | sequence_view = std::basic_string_view< byte > |
Public Member Functions | |
| Parsed_index_lru_cache () | |
| Parsed_index_lru_cache (const Parsed_index_lru_cache &)=delete | |
| Parsed_index_lru_cache & | operator= (const Parsed_index_lru_cache &)=delete |
| dict_index_t * | lookup (sequence_view &buffer) |
| bool | insert_mru (sequence_view key, dict_index_t *index) |
Static Public Attributes | |
| static constexpr size_t | k_capacity = 100 |
| A single dict_index_t + dict_table_t takes several kilobytes. More... | |
Private Types | |
| using | Value = std::unique_ptr< dict_index_t, Index_deleter > |
Private Attributes | |
| ut::prefix_cache< byte, Value > | m_cache |
Parsed index cache for redo parsing.
This wrapper binds ut::prefix_cache<byte, Value> to the redo parsing use case where Value is a unique_ptr owning dict_index_t with custom cleanup.
| using Parsed_index_lru_cache::sequence = std::basic_string<byte> |
| using Parsed_index_lru_cache::sequence_view = std::basic_string_view<byte> |
|
private |
|
inline |
|
delete |
|
inline |
|
inline |
|
delete |
|
staticconstexpr |
A single dict_index_t + dict_table_t takes several kilobytes.
InnoDB recovery logic needs one cache for the main thread doing the parsing, and one for each of srv_n_read_io_threads.
|
private |