MySQL 8.0.40
Source Code Documentation
|
Class to parse persistent dynamic metadata redo log, store and merge them and apply them to in-memory table objects finally. More...
#include <log0recv.h>
Public Member Functions | |
MetadataRecover () 1=default | |
Default constructor. More... | |
~MetadataRecover () | |
Destructor. More... | |
byte * | parseMetadataLog (table_id_t id, uint64_t version, byte *ptr, byte *end) |
Parse a dynamic metadata redo log of a table and store the metadata locally. More... | |
void | store () |
Store the collected persistent dynamic metadata to mysql.innodb_dynamic_metadata. More... | |
bool | empty () const |
If there is any metadata to be applied. More... | |
Private Types | |
using | PersistentTables = std::map< table_id_t, PersistentTableMetadata *, std::less< table_id_t >, ut::allocator< std::pair< const table_id_t, PersistentTableMetadata * > > > |
Private Member Functions | |
PersistentTableMetadata * | getMetadata (table_id_t id) |
Get the dynamic metadata of a specified table, create a new one if not exist. More... | |
Private Attributes | |
PersistentTables | m_tables |
Map used to store and merge persistent dynamic metadata. More... | |
Class to parse persistent dynamic metadata redo log, store and merge them and apply them to in-memory table objects finally.
|
private |
|
default |
Default constructor.
MetadataRecover::~MetadataRecover | ( | ) |
Destructor.
|
inline |
If there is any metadata to be applied.
|
private |
Get the dynamic metadata of a specified table, create a new one if not exist.
[in] | id | table id |
byte * MetadataRecover::parseMetadataLog | ( | table_id_t | id, |
uint64_t | version, | ||
byte * | ptr, | ||
byte * | end | ||
) |
Parse a dynamic metadata redo log of a table and store the metadata locally.
[in] | id | table id |
[in] | version | table dynamic metadata version |
[in] | ptr | redo log start |
[in] | end | end of redo log |
ptr | to next redo log record, nullptr if this log record was truncated |
void MetadataRecover::store | ( | ) |
Store the collected persistent dynamic metadata to mysql.innodb_dynamic_metadata.
|
private |
Map used to store and merge persistent dynamic metadata.