diff --git a/row/row0merge.c b/row/row0merge.c index 32a35ed4b8d..c6252003ced 100644 --- a/row/row0merge.c +++ b/row/row0merge.c @@ -433,7 +433,13 @@ void row_merge_buf_write( /*================*/ const row_merge_buf_t* buf, /* in: sorted buffer */ +#ifdef UNIV_DEBUG + const merge_file_t* of, /* in: output file */ +#endif /* UNIV_DEBUG */ row_merge_block_t* block) /* out: buffer for writing to file */ +#ifndef UNIV_DEBUG +# define row_merge_buf_write(buf, of, block) row_merge_buf_write(buf, block) +#endif /* !UNIV_DEBUG */ { dict_index_t* index = buf->index; ulint n_fields= dict_index_get_n_fields(index); @@ -466,17 +472,20 @@ row_merge_buf_write( ut_ad(b + size < block[1]); -#ifdef UNIV_DEBUG - if (row_merge_print_write) { - fprintf(stderr, "row_merge_buf_write %lu", (ulong) i); - row_merge_tuple_print(stderr, entry, n_fields); - } -#endif /* UNIV_DEBUG */ rec_convert_dtuple_to_rec_comp(b + extra_size, 0, index, REC_STATUS_ORDINARY, entry, n_fields); b += size; + +#ifdef UNIV_DEBUG + if (row_merge_print_write) { + fprintf(stderr, "row_merge_buf_write %p,%d,%lu %lu", + (void*) b, of->fd, (ulong) of->offset, + (ulong) i); + row_merge_tuple_print(stderr, entry, n_fields); + } +#endif /* UNIV_DEBUG */ } /* Write an "end-of-chunk" marker. */ @@ -490,7 +499,8 @@ row_merge_buf_write( #endif /* UNIV_DEBUG_VALGRIND */ #ifdef UNIV_DEBUG if (row_merge_print_write) { - fputs("row_merge_buf_write EOF\n", stderr); + fprintf(stderr, "row_merge_buf_write %p,%d,%lu EOF\n", + (void*) b, of->fd, (ulong) of->offset); } #endif /* UNIV_DEBUG */ } @@ -641,7 +651,9 @@ row_merge_read_rec( *mrec = NULL; #ifdef UNIV_DEBUG if (row_merge_print_read) { - fputs("row_merge_read EOF\n", stderr); + fprintf(stderr, "row_merge_read %p,%p,%d,%lu EOF\n", + (const void*) b, (const void*) block, + fd, (ulong) *foffs); } #endif /* UNIV_DEBUG */ return(NULL); @@ -749,7 +761,9 @@ err_exit: func_exit: #ifdef UNIV_DEBUG if (row_merge_print_read) { - fputs("row_merge_read ", stderr); + fprintf(stderr, "row_merge_read %p,%p,%d,%lu ", + (const void*) b, (const void*) block, + fd, (ulong) *foffs); rec_print_comp(stderr, *mrec, offsets); putc('\n', stderr); } @@ -768,16 +782,23 @@ row_merge_write_rec_low( ulint e, /* in: encoded extra_size */ #ifdef UNIV_DEBUG ulint size, /* in: total size to write */ + int fd, /* in: file descriptor */ + ulint foffs, /* in: file offset */ #endif /* UNIV_DEBUG */ const mrec_t* mrec, /* in: record to write */ const ulint* offsets)/* in: offsets of mrec */ +#ifndef UNIV_DEBUG +# define row_merge_write_rec_low(b, e, size, fd, foffs, mrec, offsets) \ + row_merge_write_rec_low(b, e, mrec, offsets) +#endif /* !UNIV_DEBUG */ { #ifdef UNIV_DEBUG const byte* const end = b + size; ut_ad(e == rec_offs_extra_size(offsets) + 1); if (row_merge_print_write) { - fputs("row_merge_write ", stderr); + fprintf(stderr, "row_merge_write %p,%d,%lu ", + (void*) b, fd, (ulong) foffs); rec_print_comp(stderr, mrec, offsets); putc('\n', stderr); } @@ -794,10 +815,6 @@ row_merge_write_rec_low( ut_ad(b + rec_offs_size(offsets) == end); } -#ifndef UNIV_DEBUG -# define row_merge_write_rec_low(b,e,s,m,o) row_merge_write_rec_low(b,e,m,o) -#endif /* UNIV_DEBUG */ - /************************************************************************ Write a merge record. */ static @@ -839,7 +856,8 @@ row_merge_write_rec( avail_size = block[1] - b; row_merge_write_rec_low(buf[0], - extra_size, size, mrec, offsets); + extra_size, size, fd, *foffs, + mrec, offsets); /* Copy the head of the temporary buffer, write the completed block, and copy the tail of the @@ -857,7 +875,8 @@ row_merge_write_rec( memcpy(b, buf[0] + avail_size, size - avail_size); b += size - avail_size; } else { - row_merge_write_rec_low(b, extra_size, size, mrec, offsets); + row_merge_write_rec_low(b, extra_size, size, fd, *foffs, + mrec, offsets); b += size; } @@ -883,7 +902,8 @@ row_merge_write_eof( ut_ad(foffs); #ifdef UNIV_DEBUG if (row_merge_print_write) { - fputs("row_merge_write EOF\n", stderr); + fprintf(stderr, "row_merge_write %p,%p,%d,%lu EOF\n", + (void*) b, (void*) block, fd, (ulong) *foffs); } #endif /* UNIV_DEBUG */ @@ -1112,7 +1132,7 @@ row_merge_read_clustered_index( goto func_exit; } - row_merge_buf_write(buf, block); + row_merge_buf_write(buf, file, block); if (!row_merge_write(file->fd, file->offset++, block)) {