MySQL 9.1.0
Source Code Documentation
table_variables_metadata Class Reference

Table PERFORMANCE_SCHEMA.VARIABLES_METADATA. More...

#include <table_variables_metadata.h>

Inheritance diagram for table_variables_metadata:
[legend]

Public Member Functions

int rnd_init (bool scan) override
 Initialize table scan. More...
 
int rnd_next () override
 Fetch the next row in this cursor. More...
 
int rnd_pos (const void *pos) override
 Fetch a row by position. More...
 
void reset_position () override
 Reset the cursor position to the beginning of the table. More...
 
 ~table_variables_metadata () override=default
 
- Public Member Functions inherited from PFS_engine_table
int read_row (TABLE *table, unsigned char *buf, Field **fields)
 Read a table row. More...
 
int update_row (TABLE *table, const unsigned char *old_buf, unsigned char *new_buf, Field **fields)
 Update a table row. More...
 
int delete_row (TABLE *table, const unsigned char *buf, Field **fields)
 Delete a row from this table. More...
 
virtual int index_init (uint idx, bool sorted)
 
virtual int index_read (KEY *key_infos, uint index, const uchar *key, uint key_len, enum ha_rkey_function find_flag)
 Positions an index cursor to the index specified in the handle. More...
 
virtual int index_read_last (KEY *key_infos, const uchar *key, uint key_len)
 
virtual int index_next ()
 Find key in index, read record. More...
 
virtual int index_next_same (const uchar *key, uint key_len)
 Reads the next row matching the given key value. More...
 
virtual int index_prev ()
 
virtual int index_first ()
 
virtual int index_last ()
 
void get_position (void *ref)
 Get the position of the current row. More...
 
void set_position (const void *ref)
 Set the table cursor at a given position. More...
 
virtual ~PFS_engine_table ()=default
 Destructor. More...
 

Static Public Member Functions

static PFS_engine_tablecreate (PFS_engine_table_share *)
 
static ha_rows get_row_count ()
 
- Static Public Member Functions inherited from PFS_engine_table
static PFS_engine_table_sharefind_engine_table_share (const char *name)
 Find a table share by name. More...
 

Static Public Attributes

static PFS_engine_table_share m_share
 Table share. More...
 

Protected Member Functions

int read_row_values (TABLE *table, unsigned char *buf, Field **fields, bool read_all) override
 Read the current row values. More...
 
 table_variables_metadata ()
 
bool init_sys_var_array ()
 Build a sorted list of all system variables from the system variable hash. More...
 
int do_materialize_all ()
 Build a GLOBAL system variable cache. More...
 
int make_row (const row_variables_metadata &row)
 
- Protected Member Functions inherited from PFS_engine_table
virtual int update_row_values (TABLE *table, const unsigned char *old_buf, unsigned char *new_buf, Field **fields)
 Update the current row values. More...
 
virtual int delete_row_values (TABLE *table, const unsigned char *buf, Field **fields)
 Delete a row. More...
 
 PFS_engine_table (const PFS_engine_table_share *share, void *pos)
 Constructor. More...
 

Private Types

typedef PFS_simple_index pos_t
 
typedef Prealloced_array< row_variables_metadata, SYSTEM_VARIABLE_PREALLOCVariable_array
 

Private Attributes

bool m_initialized
 
System_variable_tracker::Array m_sys_var_tracker_array
 
Variable_array m_cache
 
bool m_materialized
 
ulonglong m_version
 
row_variables_metadata m_row
 Current row. More...
 
pos_t m_pos
 Current position. More...
 
pos_t m_next_pos
 Next position. More...
 

Static Private Attributes

static THR_LOCK m_table_lock
 Table share lock. More...
 
static Plugin_table m_table_def
 Table definition. More...
 

Additional Inherited Members

- Protected Attributes inherited from PFS_engine_table
const PFS_engine_table_sharem_share_ptr
 Table share. More...
 
void * m_pos_ptr
 Opaque pointer to the m_pos position of this cursor. More...
 
time_normalizerm_normalizer
 Current normalizer. More...
 
PFS_engine_index_abstractm_index
 Current index. More...
 

Detailed Description

Table PERFORMANCE_SCHEMA.VARIABLES_METADATA.

Member Typedef Documentation

◆ pos_t

◆ Variable_array

Constructor & Destructor Documentation

◆ table_variables_metadata()

table_variables_metadata::table_variables_metadata ( )
protected

◆ ~table_variables_metadata()

table_variables_metadata::~table_variables_metadata ( )
overridedefault

Member Function Documentation

◆ create()

PFS_engine_table * table_variables_metadata::create ( PFS_engine_table_share )
static

◆ do_materialize_all()

int table_variables_metadata::do_materialize_all ( )
protected

Build a GLOBAL system variable cache.

◆ get_row_count()

ha_rows table_variables_metadata::get_row_count ( )
static

◆ init_sys_var_array()

bool table_variables_metadata::init_sys_var_array ( )
protected

Build a sorted list of all system variables from the system variable hash.

Filter by scope. Must be called inside of LOCK_plugin_delete.

◆ make_row()

int table_variables_metadata::make_row ( const row_variables_metadata row)
protected

◆ read_row_values()

int table_variables_metadata::read_row_values ( TABLE table,
unsigned char *  buf,
Field **  fields,
bool  read_all 
)
overrideprotectedvirtual

Read the current row values.

Parameters
tableTable handle
bufrow buffer
fieldsTable fields
read_alltrue if all columns are read.

Implements PFS_engine_table.

◆ reset_position()

void table_variables_metadata::reset_position ( )
overridevirtual

Reset the cursor position to the beginning of the table.

Implements PFS_engine_table.

◆ rnd_init()

int table_variables_metadata::rnd_init ( bool  scan)
overridevirtual

Initialize table scan.

Reimplemented from PFS_engine_table.

◆ rnd_next()

int table_variables_metadata::rnd_next ( )
overridevirtual

Fetch the next row in this cursor.

Implements PFS_engine_table.

◆ rnd_pos()

int table_variables_metadata::rnd_pos ( const void *  pos)
overridevirtual

Fetch a row by position.

Parameters
posposition to fetch

Implements PFS_engine_table.

Member Data Documentation

◆ m_cache

Variable_array table_variables_metadata::m_cache
private

◆ m_initialized

bool table_variables_metadata::m_initialized
private

◆ m_materialized

bool table_variables_metadata::m_materialized
private

◆ m_next_pos

pos_t table_variables_metadata::m_next_pos
private

Next position.

◆ m_pos

pos_t table_variables_metadata::m_pos
private

Current position.

◆ m_row

row_variables_metadata table_variables_metadata::m_row
private

Current row.

◆ m_share

PFS_engine_table_share table_variables_metadata::m_share
static
Initial value:
= {
nullptr,
nullptr,
sizeof(pos_t),
true,
{0},
false
}
static Plugin_table m_table_def
Table definition.
Definition: table_variables_metadata.h:133
PFS_simple_index pos_t
Definition: table_variables_metadata.h:98
static ha_rows get_row_count()
Definition: table_variables_metadata.cc:210
static PFS_engine_table * create(PFS_engine_table_share *)
Definition: table_variables_metadata.cc:206
static THR_LOCK m_table_lock
Table share lock.
Definition: table_variables_metadata.h:131
PFS_readonly_world_acl pfs_readonly_world_acl
Singleton instance of PFS_readonly_world_acl.
Definition: pfs_engine_table.cc:1069
struct PFS_engine_table_proxy PFS_engine_table_proxy
Definition: pfs_plugin_table_service.h:430

Table share.

◆ m_sys_var_tracker_array

System_variable_tracker::Array table_variables_metadata::m_sys_var_tracker_array
private

◆ m_table_def

Plugin_table table_variables_metadata::m_table_def
staticprivate

Table definition.

◆ m_table_lock

THR_LOCK table_variables_metadata::m_table_lock
staticprivate

Table share lock.

◆ m_version

ulonglong table_variables_metadata::m_version
private

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