MySQL 8.0.40
Source Code Documentation
|
Inspect data lock waits for the innodb storage engine. More...
Public Member Functions | |
bool | scan (PSI_server_data_lock_wait_container *container) override |
Scan for more data lock waits. More... | |
void | 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 |
Static Private Member Functions | |
static size_t | report (PSI_server_data_lock_wait_container &container, const lock_t &wait_lock, bool with_filter, const lock_guid_t &filter_blocking_lock_guid=lock_guid_t()) |
For a given wait_lock it will inform container about each lock which is blocking this wait_lock, subject to filtering defined for the container, and optionally by filter_blocking_lock_immutable_id if with_filter is true. More... | |
Private Attributes | |
All_locks_iterator | m_all_locks_iterator |
Inspect data lock waits for the innodb storage engine.
|
overridevirtual |
Fetch a given data lock wait.
container | The container to fill |
requesting_engine_lock_id | The requesting lock id to search |
requesting_engine_lock_id_length | The requesting lock id length |
blocking_engine_lock_id | The blocking lock id to search |
blocking_engine_lock_id_length | The blocking lock id length |
Implements PSI_engine_data_lock_wait_iterator.
|
staticprivate |
For a given wait_lock it will inform container about each lock which is blocking this wait_lock, subject to filtering defined for the container, and optionally by filter_blocking_lock_immutable_id if with_filter is true.
The with_filter is used to fetch just a single blocking lock, the one specified by its immutable id. Please note, that there is no guarantee that this blocking lock is still in the lock sys.
[in,out] | container | The container to fill. Serves as both visitor and filter |
[in] | wait_lock | The requesting lock which has to wait |
[in] | with_filter | If true then filter_blocking_lock_immutable_id has to be passed, and means that only the lock with that immutable id (if still present and matches the container's filters) should be reported to the container. If false then all locks blocking the wait_lock are considered for reporting. |
[in] | filter_blocking_lock_guid | if with_filter is true it further narrows the set of reported locks to just the one with given guid. |
|
overridevirtual |
Scan for more data lock waits.
container | The container to fill |
Implements PSI_engine_data_lock_wait_iterator.
|
private |