From 817d93a9146299cdc5b0781367624d3bcc57f609 Mon Sep 17 00:00:00 2001 From: sunny <> Date: Thu, 18 Feb 2010 11:44:31 +0000 Subject: [PATCH] branches/zip: Don't print the entire lock bit set if the block was not found in the buffer pool. Only print the bits that are set and that information is in the lock and not in the block. See rb://256 approved by Marko. --- lock/lock0lock.c | 39 ++++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/lock/lock0lock.c b/lock/lock0lock.c index 325ebc846bb..7650d1a0d22 100644 --- a/lock/lock0lock.c +++ b/lock/lock0lock.c @@ -4309,28 +4309,29 @@ lock_rec_print( block = buf_page_try_get(space, page_no, &mtr); - if (block) { - for (i = 0; i < lock_rec_get_n_bits(lock); i++) { + for (i = 0; i < lock_rec_get_n_bits(lock); ++i) { - if (lock_rec_get_nth_bit(lock, i)) { - - const rec_t* rec - = page_find_rec_with_heap_no( - buf_block_get_frame(block), i); - offsets = rec_get_offsets( - rec, lock->index, offsets, - ULINT_UNDEFINED, &heap); - - fprintf(file, "Record lock, heap no %lu ", - (ulong) i); - rec_print_new(file, rec, offsets); - putc('\n', file); - } + if (!lock_rec_get_nth_bit(lock, i)) { + continue; } - } else { - for (i = 0; i < lock_rec_get_n_bits(lock); i++) { - fprintf(file, "Record lock, heap no %lu\n", (ulong) i); + + fprintf(file, "Record lock, heap no %lu", (ulong) i); + + if (block) { + 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, + ULINT_UNDEFINED, &heap); + + putc(' ', file); + rec_print_new(file, rec, offsets); } + + putc('\n', file); } mtr_commit(&mtr);