MySQL  8.0.21
Source Code Documentation
dd::System_tables Class Reference

Class used to represent the dictionary tables. More...

#include <system_registry.h>

Public Types

enum  Types {
  Types::INERT, Types::CORE, Types::SECOND, Types::DDSE_PRIVATE,
  Types::DDSE_PROTECTED, Types::PFS, Types::SYSTEM
}
 
typedef System_table_registry_type::Const_iterator Const_iterator
 

Public Member Functions

void add_inert_dd_tables ()
 
void add_remaining_dd_tables ()
 
void add (const String_type &schema_name, const String_type &table_name, Types type, const Object_table *table)
 
const Object_tablefind_table (const String_type &schema_name, const String_type &table_name) const
 
const Typesfind_type (const String_type &schema_name, const String_type &table_name) const
 
Const_iterator begin () const
 
Const_iterator begin (Types type) const
 
Const_iterator end () const
 
Const_iterator next (Const_iterator current, Types type) const
 
void dump () const
 

Static Public Member Functions

static const char * type_name (Types type)
 
static int type_name_error_code (Types type)
 
static System_tablesinstance ()
 

Private Types

typedef Entity_registry< std::pair< const String_type, const String_type >, const Object_table, Types, type_name, trueSystem_table_registry_type
 

Private Attributes

System_table_registry_type m_registry
 

Detailed Description

Class used to represent the dictionary tables.

This class is a singleton used to represent meta data of the dictionary tables, i.e., the tables that store meta data about dictionary entities. The meta data collected here are the Object_table instances, which are used to e.g. get hold of the definition of the table.

The singleton contains an instance of the Entity_registry class, and has methods that mostly delegate to this instance.

Member Typedef Documentation

◆ Const_iterator

◆ System_table_registry_type

Member Enumeration Documentation

◆ Types

Enumerator
INERT 
CORE 
SECOND 
DDSE_PRIVATE 
DDSE_PROTECTED 
PFS 
SYSTEM 

Member Function Documentation

◆ add()

void dd::System_tables::add ( const String_type schema_name,
const String_type table_name,
Types  type,
const Object_table table 
)
inline

◆ add_inert_dd_tables()

void dd::System_tables::add_inert_dd_tables ( )

◆ add_remaining_dd_tables()

void dd::System_tables::add_remaining_dd_tables ( )

◆ begin() [1/2]

Const_iterator dd::System_tables::begin ( void  ) const
inline

◆ begin() [2/2]

Const_iterator dd::System_tables::begin ( Types  type) const
inline

◆ dump()

void dd::System_tables::dump ( ) const
inline

◆ end()

Const_iterator dd::System_tables::end ( void  ) const
inline

◆ find_table()

const Object_table* dd::System_tables::find_table ( const String_type schema_name,
const String_type table_name 
) const
inline

◆ find_type()

const Types* dd::System_tables::find_type ( const String_type schema_name,
const String_type table_name 
) const
inline

◆ instance()

System_tables * dd::System_tables::instance ( )
static

◆ next()

Const_iterator dd::System_tables::next ( Const_iterator  current,
Types  type 
) const
inline

◆ type_name()

static const char* dd::System_tables::type_name ( Types  type)
inlinestatic

◆ type_name_error_code()

static int dd::System_tables::type_name_error_code ( Types  type)
inlinestatic

Member Data Documentation

◆ m_registry

System_table_registry_type dd::System_tables::m_registry
private

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