![]() |
MySQL 8.0.43
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.