summaryrefslogtreecommitdiff
path: root/storage/innobase/lock/lock0lock.cc
diff options
context:
space:
mode:
Diffstat (limited to 'storage/innobase/lock/lock0lock.cc')
-rw-r--r--storage/innobase/lock/lock0lock.cc14
1 files changed, 7 insertions, 7 deletions
diff --git a/storage/innobase/lock/lock0lock.cc b/storage/innobase/lock/lock0lock.cc
index fe9d9683785..ed3281e1453 100644
--- a/storage/innobase/lock/lock0lock.cc
+++ b/storage/innobase/lock/lock0lock.cc
@@ -6657,15 +6657,15 @@ lock_validate()
Release both mutexes during the validation check. */
for (ulint i = 0; i < hash_get_n_cells(lock_sys->rec_hash); i++) {
- const lock_t* lock;
ib_uint64_t limit = 0;
- while ((lock = lock_rec_validate(i, &limit)) != 0) {
-
- ulint space = lock->un_member.rec_lock.space;
- ulint page_no = lock->un_member.rec_lock.page_no;
-
- pages.insert(std::make_pair(space, page_no));
+ while (const lock_t* lock = lock_rec_validate(i, &limit)) {
+ if (lock_rec_find_set_bit(lock) == ULINT_UNDEFINED) {
+ /* The lock bitmap is empty; ignore it. */
+ continue;
+ }
+ const lock_rec_t& l = lock->un_member.rec_lock;
+ pages.insert(std::make_pair(l.space, l.page_no));
}
}