diff options
Diffstat (limited to 'storage/innobase/lock/lock0lock.cc')
-rw-r--r-- | storage/innobase/lock/lock0lock.cc | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/storage/innobase/lock/lock0lock.cc b/storage/innobase/lock/lock0lock.cc index 3166bb810a1..90755445d95 100644 --- a/storage/innobase/lock/lock0lock.cc +++ b/storage/innobase/lock/lock0lock.cc @@ -5595,13 +5595,14 @@ lock_rec_print(FILE* file, const lock_t* lock) fprintf(file, "Record lock, heap no %lu", (ulong) i); if (block) { + ut_ad(page_is_leaf(block->frame)); const rec_t* rec; rec = page_find_rec_with_heap_no( buf_block_get_frame(block), i); offsets = rec_get_offsets( - rec, lock->index, offsets, + rec, lock->index, offsets, true, ULINT_UNDEFINED, &heap); putc(' ', file); @@ -6433,8 +6434,10 @@ loop: rec = page_find_rec_with_heap_no(block->frame, i); ut_a(rec); + ut_ad(page_rec_is_leaf(rec)); offsets = rec_get_offsets(rec, lock->index, offsets, - ULINT_UNDEFINED, &heap); + true, ULINT_UNDEFINED, + &heap); /* If this thread is holding the file space latch (fil_space_t::latch), the following @@ -6777,7 +6780,7 @@ lock_rec_insert_check_and_lock( const ulint* offsets; rec_offs_init(offsets_); - offsets = rec_get_offsets(next_rec, index, offsets_, + offsets = rec_get_offsets(next_rec, index, offsets_, true, ULINT_UNDEFINED, &heap); ut_ad(lock_rec_queue_validate( @@ -7004,7 +7007,7 @@ lock_sec_rec_modify_check_and_lock( const ulint* offsets; rec_offs_init(offsets_); - offsets = rec_get_offsets(rec, index, offsets_, + offsets = rec_get_offsets(rec, index, offsets_, true, ULINT_UNDEFINED, &heap); ut_ad(lock_rec_queue_validate( @@ -7214,7 +7217,8 @@ lock_clust_rec_read_check_and_lock_alt( dberr_t err; rec_offs_init(offsets_); - offsets = rec_get_offsets(rec, index, offsets, + ut_ad(page_rec_is_leaf(rec)); + offsets = rec_get_offsets(rec, index, offsets, true, ULINT_UNDEFINED, &tmp_heap); err = lock_clust_rec_read_check_and_lock(flags, block, rec, index, offsets, mode, gap_mode, thr); |