MySQL 9.1.0
Source Code Documentation
PFS_data_lock_wait_container Class Reference

#include <pfs_data_lock.h>

Inheritance diagram for PFS_data_lock_wait_container:
[legend]

Public Member Functions

 PFS_data_lock_wait_container ()
 
 ~PFS_data_lock_wait_container () override
 
const char * cache_string (const char *string) override
 
const char * cache_data (const char *ptr, size_t length) override
 
bool accept_engine (const char *engine, size_t engine_length) override
 Check if the container accepts data for a particular engine. More...
 
bool accept_requesting_lock_id (const char *engine_lock_id, size_t engine_lock_id_length) override
 Check if the container accepts data for a particular requesting lock id. More...
 
bool accept_blocking_lock_id (const char *engine_lock_id, size_t engine_lock_id_length) override
 Check if the container accepts data for a particular blocking lock id. More...
 
bool accept_requesting_transaction_id (ulonglong transaction_id) override
 Check if the container accepts data for a particular requesting transaction id. More...
 
bool accept_blocking_transaction_id (ulonglong transaction_id) override
 Check if the container accepts data for a particular blocking transaction id. More...
 
bool accept_requesting_thread_id_event_id (ulonglong thread_id, ulonglong event_id) override
 Check if the container accepts data for a particular requesting event. More...
 
bool accept_blocking_thread_id_event_id (ulonglong thread_id, ulonglong event_id) override
 Check if the container accepts data for a particular blocking event. More...
 
void add_lock_wait_row (const char *engine, size_t engine_length, const char *requesting_engine_lock_id, size_t requesting_engine_lock_id_length, ulonglong requesting_transaction_id, ulonglong requesting_thread_id, ulonglong requesting_event_id, const void *requesting_identity, const char *blocking_engine_lock_id, size_t blocking_engine_lock_id_length, ulonglong blocking_transaction_id, ulonglong blocking_thread_id, ulonglong blocking_event_id, const void *blocking_identity) override
 Add a row to table performance_schema.data_lock_waits. More...
 
void clear ()
 Clear the container. More...
 
void shrink ()
 Shrink the container. More...
 
row_data_lock_waitget_row (size_t index)
 
void set_filter (PFS_index_data_lock_waits *filter)
 
- Public Member Functions inherited from PSI_server_data_lock_wait_container
 PSI_server_data_lock_wait_container ()=default
 
virtual ~PSI_server_data_lock_wait_container ()=default
 

Private Attributes

size_t m_logical_row_index
 
std::vector< row_data_lock_wait, PFS_data_container_allocator< row_data_lock_wait > > m_rows
 
PFS_data_cache m_cache
 
PFS_index_data_lock_waitsm_filter
 

Constructor & Destructor Documentation

◆ PFS_data_lock_wait_container()

PFS_data_lock_wait_container::PFS_data_lock_wait_container ( )

◆ ~PFS_data_lock_wait_container()

PFS_data_lock_wait_container::~PFS_data_lock_wait_container ( )
overridedefault

Member Function Documentation

◆ accept_blocking_lock_id()

bool PFS_data_lock_wait_container::accept_blocking_lock_id ( const char *  engine_lock_id,
size_t  engine_lock_id_length 
)
overridevirtual

Check if the container accepts data for a particular blocking lock id.

This methods is used to prune data for queries like

SELECT * from performance_schema.data_lock_waits WHERE
BLOCKING_ENGINE_LOCK_ID = ...
const std::string SELECT("SELECT")
Name of the static privileges.
@ WHERE
Definition: sql_yacc.h:687

Implements PSI_server_data_lock_wait_container.

◆ accept_blocking_thread_id_event_id()

bool PFS_data_lock_wait_container::accept_blocking_thread_id_event_id ( ulonglong  thread_id,
ulonglong  event_id 
)
overridevirtual

Check if the container accepts data for a particular blocking event.

This methods is used to prune data for queries like

SELECT * from performance_schema.data_lock_waits
WHERE BLOCKING_THREAD_ID = ... AND BLOCKING_EVENT_ID = ...

Implements PSI_server_data_lock_wait_container.

◆ accept_blocking_transaction_id()

bool PFS_data_lock_wait_container::accept_blocking_transaction_id ( ulonglong  transaction_id)
overridevirtual

Check if the container accepts data for a particular blocking transaction id.

This methods is used to prune data for queries like

SELECT * from performance_schema.data_lock_waits WHERE
BLOCKING_ENGINE_TRANSACTION_ID = ...

Implements PSI_server_data_lock_wait_container.

◆ accept_engine()

bool PFS_data_lock_wait_container::accept_engine ( const char *  engine,
size_t  engine_length 
)
overridevirtual

Check if the container accepts data for a particular engine.

This methods is used to prune data for queries like

SELECT * from performance_schema.data_lock_waits WHERE ENGINE = ...

Implements PSI_server_data_lock_wait_container.

◆ accept_requesting_lock_id()

bool PFS_data_lock_wait_container::accept_requesting_lock_id ( const char *  engine_lock_id,
size_t  engine_lock_id_length 
)
overridevirtual

Check if the container accepts data for a particular requesting lock id.

This methods is used to prune data for queries like

SELECT * from performance_schema.data_lock_waits WHERE
REQUESTING_ENGINE_LOCK_ID = ...

Implements PSI_server_data_lock_wait_container.

◆ accept_requesting_thread_id_event_id()

bool PFS_data_lock_wait_container::accept_requesting_thread_id_event_id ( ulonglong  thread_id,
ulonglong  event_id 
)
overridevirtual

Check if the container accepts data for a particular requesting event.

This methods is used to prune data for queries like

SELECT * from performance_schema.data_lock_waits
WHERE REQUESTING_THREAD_ID = ... AND REQUESTING_EVENT_ID = ...

Implements PSI_server_data_lock_wait_container.

◆ accept_requesting_transaction_id()

bool PFS_data_lock_wait_container::accept_requesting_transaction_id ( ulonglong  transaction_id)
overridevirtual

Check if the container accepts data for a particular requesting transaction id.

This methods is used to prune data for queries like

SELECT * from performance_schema.data_lock_waits WHERE
REQUESTING_ENGINE_TRANSACTION_ID = ...

Implements PSI_server_data_lock_wait_container.

◆ add_lock_wait_row()

void PFS_data_lock_wait_container::add_lock_wait_row ( const char *  engine,
size_t  engine_length,
const char *  requesting_engine_lock_id,
size_t  requesting_engine_lock_id_length,
ulonglong  requesting_transaction_id,
ulonglong  requesting_thread_id,
ulonglong  requesting_event_id,
const void *  requesting_identity,
const char *  blocking_engine_lock_id,
size_t  blocking_engine_lock_id_length,
ulonglong  blocking_transaction_id,
ulonglong  blocking_thread_id,
ulonglong  blocking_event_id,
const void *  blocking_identity 
)
overridevirtual

Add a row to table performance_schema.data_lock_waits.

Implements PSI_server_data_lock_wait_container.

◆ cache_data()

const char * PFS_data_lock_wait_container::cache_data ( const char *  ptr,
size_t  length 
)
overridevirtual
See also
PSI_server_data_lock_container::cache_data.

Implements PSI_server_data_lock_wait_container.

◆ cache_string()

const char * PFS_data_lock_wait_container::cache_string ( const char *  string)
overridevirtual
See also
PSI_server_data_lock_container::cache_string.

Implements PSI_server_data_lock_wait_container.

◆ clear()

void PFS_data_lock_wait_container::clear ( )

Clear the container.

New rows added will start at index 0.

◆ get_row()

row_data_lock_wait * PFS_data_lock_wait_container::get_row ( size_t  index)

◆ set_filter()

void PFS_data_lock_wait_container::set_filter ( PFS_index_data_lock_waits filter)
inline

◆ shrink()

void PFS_data_lock_wait_container::shrink ( )

Shrink the container.

New rows added will continue to use the current index.

Member Data Documentation

◆ m_cache

PFS_data_cache PFS_data_lock_wait_container::m_cache
private

◆ m_filter

PFS_index_data_lock_waits* PFS_data_lock_wait_container::m_filter
private

◆ m_logical_row_index

size_t PFS_data_lock_wait_container::m_logical_row_index
private

◆ m_rows

std::vector<row_data_lock_wait, PFS_data_container_allocator<row_data_lock_wait> > PFS_data_lock_wait_container::m_rows
private

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