MySQL 8.3.0
Source Code Documentation
Innodb_data_lock_wait_iterator Class Reference

Inspect data lock waits for the innodb storage engine. More...

Inheritance diagram for Innodb_data_lock_wait_iterator:
[legend]

Public Member Functions

 Innodb_data_lock_wait_iterator ()=default
 
 ~Innodb_data_lock_wait_iterator () override=default
 
bool scan (PSI_server_data_lock_wait_container *container) override
 Scan for more data lock waits. More...
 
bool fetch (PSI_server_data_lock_wait_container *container, const char *requesting_engine_lock_id, size_t requesting_engine_lock_id_length, const char *blocking_engine_lock_id, size_t blocking_engine_lock_id_length) override
 Fetch a given data lock wait. More...
 
- Public Member Functions inherited from PSI_engine_data_lock_wait_iterator
 PSI_engine_data_lock_wait_iterator ()=default
 
virtual ~PSI_engine_data_lock_wait_iterator ()=default
 

Private Member Functions

template<typename Trx_list >
size_t scan_trx_list (PSI_server_data_lock_wait_container *container, Trx_list *trx_list)
 Scan a given transaction list. More...
 
size_t scan_trx (PSI_server_data_lock_wait_container *container, const trx_t *trx, bool with_filter, uint64_t filter_requesting_lock_immutable_id=0, uint64_t filter_blocking_lock_immutable_id=0)
 Scan a given transaction. More...
 

Private Attributes

Innodb_trx_scan_state m_scan_state
 Current scan state. More...
 

Detailed Description

Inspect data lock waits for the innodb storage engine.

Constructor & Destructor Documentation

◆ Innodb_data_lock_wait_iterator()

Innodb_data_lock_wait_iterator::Innodb_data_lock_wait_iterator ( )
default

◆ ~Innodb_data_lock_wait_iterator()

Innodb_data_lock_wait_iterator::~Innodb_data_lock_wait_iterator ( )
overridedefault

Member Function Documentation

◆ fetch()

bool Innodb_data_lock_wait_iterator::fetch ( PSI_server_data_lock_wait_container container,
const char *  requesting_engine_lock_id,
size_t  requesting_engine_lock_id_length,
const char *  blocking_engine_lock_id,
size_t  blocking_engine_lock_id_length 
)
overridevirtual

Fetch a given data lock wait.

Parameters
containerThe container to fill
requesting_engine_lock_idThe requesting lock id to search
requesting_engine_lock_id_lengthThe requesting lock id length
blocking_engine_lock_idThe blocking lock id to search
blocking_engine_lock_id_lengthThe blocking lock id length
Returns
true if the iterator is done

Implements PSI_engine_data_lock_wait_iterator.

◆ scan()

bool Innodb_data_lock_wait_iterator::scan ( PSI_server_data_lock_wait_container container)
overridevirtual

Scan for more data lock waits.

Parameters
containerThe container to fill
Returns
true if the iterator is done

Implements PSI_engine_data_lock_wait_iterator.

◆ scan_trx()

size_t Innodb_data_lock_wait_iterator::scan_trx ( PSI_server_data_lock_wait_container container,
const trx_t trx,
bool  with_filter,
uint64_t  filter_requesting_lock_immutable_id = 0,
uint64_t  filter_blocking_lock_immutable_id = 0 
)
private

Scan a given transaction.

Either scan all the waits for a transaction, or scan only records matching a given wait.

Parameters
[in]containerThe container to fill
[in]trxThe trx to scan
[in]with_filterTrue if looking for a given wait only.
[in]filter_requesting_lock_immutable_idImmutable id of lock_t for the requesting lock, when filtering
[in]filter_blocking_lock_immutable_idImmutable idof lock_t for the blocking lock, when filtering
Returns
the number of records found.

◆ scan_trx_list()

template<typename Trx_list >
size_t Innodb_data_lock_wait_iterator::scan_trx_list ( PSI_server_data_lock_wait_container container,
Trx_list *  trx_list 
)
private

Scan a given transaction list.

Parameters
[in]containerThe container to fill
[in]trx_listThe trx list to scan
Returns
the number of records found.

Member Data Documentation

◆ m_scan_state

Innodb_trx_scan_state Innodb_data_lock_wait_iterator::m_scan_state
private

Current scan state.


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