MySQL 8.0.40
Source Code Documentation
table_mapping Class Reference

Maps table id's (integers) to table pointers. More...

#include <rpl_tblmap.h>

Classes

struct  entry
 

Public Types

enum  enum_error { ERR_NO_ERROR = 0 , ERR_LIMIT_EXCEEDED , ERR_MEMORY_ALLOCATION }
 

Public Member Functions

 table_mapping ()
 
 ~table_mapping ()
 
Mapped_tableget_table (ulonglong table_id)
 
int set_table (ulonglong table_id, Mapped_table *table)
 
int remove_table (ulonglong table_id)
 
void clear_tables ()
 
ulong count () const
 

Private Member Functions

int expand ()
 

Private Attributes

MEM_ROOT m_mem_root
 
entrym_free
 
malloc_unordered_map< ulonglong, entry * > m_table_ids
 

Detailed Description

Maps table id's (integers) to table pointers.

In mysqlbinlog, "table pointer" means Table_map_log_event*.

In the server, "table pointer" means TABLE*.

Member Enumeration Documentation

◆ enum_error

Enumerator
ERR_NO_ERROR 
ERR_LIMIT_EXCEEDED 
ERR_MEMORY_ALLOCATION 

Constructor & Destructor Documentation

◆ table_mapping()

table_mapping::table_mapping ( )

◆ ~table_mapping()

table_mapping::~table_mapping ( )

Member Function Documentation

◆ clear_tables()

void table_mapping::clear_tables ( )

◆ count()

ulong table_mapping::count ( ) const
inline

◆ expand()

int table_mapping::expand ( )
private

◆ get_table()

Mapped_table * table_mapping::get_table ( ulonglong  table_id)

◆ remove_table()

int table_mapping::remove_table ( ulonglong  table_id)

◆ set_table()

int table_mapping::set_table ( ulonglong  table_id,
Mapped_table table 
)

Member Data Documentation

◆ m_free

entry* table_mapping::m_free
private

◆ m_mem_root

MEM_ROOT table_mapping::m_mem_root
private

◆ m_table_ids

malloc_unordered_map<ulonglong, entry *> table_mapping::m_table_ids
private

The documentation for this class was generated from the following files: