MySQL 8.0.39
Source Code Documentation
|
Lock queue iterator type and function prototypes. More...
Go to the source code of this file.
Classes | |
struct | lock_queue_iterator_t |
Functions | |
void | lock_queue_iterator_reset (lock_queue_iterator_t *iter, const lock_t *lock, ulint bit_no) |
Initialize lock queue iterator so that it starts to iterate from "lock". More... | |
const lock_t * | lock_queue_iterator_get_prev (lock_queue_iterator_t *iter) |
Gets the previous lock in the lock queue, returns NULL if there are no more locks (i.e. More... | |
Lock queue iterator type and function prototypes.
Created July 16, 2007 Vasil Dimov
const lock_t * lock_queue_iterator_get_prev | ( | lock_queue_iterator_t * | iter | ) |
Gets the previous lock in the lock queue, returns NULL if there are no more locks (i.e.
the current lock is the first one). The iterator is receded (if not-NULL is returned).
the current lock is the first one). The iterator is receded (if not-NULL is returned).
iter | in/out: iterator |
void lock_queue_iterator_reset | ( | lock_queue_iterator_t * | iter, |
const lock_t * | lock, | ||
ulint | bit_no | ||
) |
Initialize lock queue iterator so that it starts to iterate from "lock".
bit_no specifies the record number within the heap where the record is stored. It can be undefined (ULINT_UNDEFINED) in two cases:
If the lock is a record lock and it is a wait lock. In this case bit_no is calculated in this function by using lock_rec_find_set_bit(). There is exactly one bit set in the bitmap of a wait lock. in: record number in the heap
bit_no specifies the record number within the heap where the record is stored. It can be undefined (ULINT_UNDEFINED) in two cases:
iter | out: iterator |
lock | in: lock to start from |
bit_no | in: record number in the heap |