MySQL 8.3.0
Source Code Documentation
Innodb_data_lock_iterator Class Reference

Inspect data locks for the innodb storage engine. More...

Inheritance diagram for Innodb_data_lock_iterator:
[legend]

Public Member Functions

 Innodb_data_lock_iterator ()
 
 ~Innodb_data_lock_iterator () override
 
bool scan (PSI_server_data_lock_container *container, bool with_lock_data) override
 Scan for more data locks. More...
 
bool fetch (PSI_server_data_lock_container *container, const char *engine_lock_id, size_t engine_lock_id_length, bool with_lock_data) override
 Fetch a given data lock. More...
 
- Public Member Functions inherited from PSI_engine_data_lock_iterator
 PSI_engine_data_lock_iterator ()=default
 
virtual ~PSI_engine_data_lock_iterator ()=default
 

Private Member Functions

template<typename Trx_list >
size_t scan_trx_list (PSI_server_data_lock_container *container, bool with_lock_data, Trx_list *trx_list)
 Scan a trx list. More...
 
size_t scan_trx (PSI_server_data_lock_container *container, bool with_lock_data, const trx_t *trx, bool with_filter, uint64_t filter_lock_immutable_id=0, ulint filter_heap_id=0)
 Scan a given trx. More...
 

Private Attributes

Innodb_trx_scan_state m_scan_state
 Current scan state. More...
 

Detailed Description

Inspect data locks for the innodb storage engine.

Constructor & Destructor Documentation

◆ Innodb_data_lock_iterator()

Innodb_data_lock_iterator::Innodb_data_lock_iterator ( )
default

◆ ~Innodb_data_lock_iterator()

Innodb_data_lock_iterator::~Innodb_data_lock_iterator ( )
overridedefault

Member Function Documentation

◆ fetch()

bool Innodb_data_lock_iterator::fetch ( PSI_server_data_lock_container container,
const char *  engine_lock_id,
size_t  engine_lock_id_length,
bool  with_lock_data 
)
overridevirtual

Fetch a given data lock.

Parameters
containerThe container to fill
engine_lock_idThe lock id to search
engine_lock_id_lengthLock id length
with_lock_dataTrue if column LOCK_DATA is required.
Returns
true if the iterator is done

Implements PSI_engine_data_lock_iterator.

◆ scan()

bool Innodb_data_lock_iterator::scan ( PSI_server_data_lock_container container,
bool  with_lock_data 
)
overridevirtual

Scan for more data locks.

Parameters
containerThe container to fill
with_lock_dataTrue if column LOCK_DATA is required.
Returns
true if the iterator is done

Implements PSI_engine_data_lock_iterator.

◆ scan_trx()

size_t Innodb_data_lock_iterator::scan_trx ( PSI_server_data_lock_container container,
bool  with_lock_data,
const trx_t trx,
bool  with_filter,
uint64_t  filter_lock_immutable_id = 0,
ulint  filter_heap_id = 0 
)
private

Scan a given trx.

Either scan all the locks for a transaction, or scan only records matching a given lock.

Parameters
[in]containerThe container to fill
[in]with_lock_dataTrue if column LOCK_DATA needs to be populated.
[in]trxThe trx to scan
[in]with_filterTrue if looking for a specific record only.
[in]filter_lock_immutable_idImmutable id of lock_t we are looking for
[in]filter_heap_idHeap id to look for, when filtering
Returns
The number of records found

◆ scan_trx_list()

template<typename Trx_list >
size_t Innodb_data_lock_iterator::scan_trx_list ( PSI_server_data_lock_container container,
bool  with_lock_data,
Trx_list *  trx_list 
)
private

Scan a trx list.

Parameters
[in]containerThe container to fill
[in]with_lock_dataTrue if column LOCK_DATA needs to be populated.
[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_iterator::m_scan_state
private

Current scan state.


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