MySQL 9.1.0
Source Code Documentation
Table_cache_element Class Reference

Element that represents the table in the specific table cache. More...

#include <table_cache.h>

Public Member Functions

 Table_cache_element (TABLE_SHARE *share_arg)
 
TABLE_SHAREget_share () const
 

Private Types

typedef I_P_List< TABLE, I_P_List_adapter< TABLE, &TABLE::cache_next, &TABLE::cache_prev > > TABLE_list
 

Private Attributes

TABLE_list used_tables
 
TABLE_list free_tables_slim
 List of unused TABLE objects that do not have fully-loaded triggers; either because there were no triggers, or because the triggers were not previously loaded as they were not needed for read-only statements. More...
 
TABLE_list free_tables_full_triggers
 List of unused TABLE objects with fully-loaded triggers. More...
 
TABLE_SHAREshare
 

Friends

class Table_cache
 
class Table_cache_manager
 
class Table_cache_iterator
 

Detailed Description

Element that represents the table in the specific table cache.

Plays for table cache instance role similar to role of TABLE_SHARE for table definition cache.

It is an implementation detail of Table_cache and is present in the header file only to allow inlining of some methods.

Member Typedef Documentation

◆ TABLE_list

Constructor & Destructor Documentation

◆ Table_cache_element()

Table_cache_element::Table_cache_element ( TABLE_SHARE share_arg)
inline

Member Function Documentation

◆ get_share()

TABLE_SHARE * Table_cache_element::get_share ( ) const
inline

Friends And Related Function Documentation

◆ Table_cache

friend class Table_cache
friend

◆ Table_cache_iterator

friend class Table_cache_iterator
friend

◆ Table_cache_manager

friend class Table_cache_manager
friend

Member Data Documentation

◆ free_tables_full_triggers

TABLE_list Table_cache_element::free_tables_full_triggers
private

List of unused TABLE objects with fully-loaded triggers.

◆ free_tables_slim

TABLE_list Table_cache_element::free_tables_slim
private

List of unused TABLE objects that do not have fully-loaded triggers; either because there were no triggers, or because the triggers were not previously loaded as they were not needed for read-only statements.

(This distinction is why our nomenclature is not just full <-> lazy.)

◆ share

TABLE_SHARE* Table_cache_element::share
private

◆ used_tables

TABLE_list Table_cache_element::used_tables
private

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