Commit 095d6463 authored by unknown's avatar unknown

InnoDB: Remove debug functions unless #ifdef UNIV_DEBUG


innobase/btr/btr0btr.c:
  Add #ifdef UNIV_DEBUG around debug code
innobase/buf/buf0buf.c:
  Add #ifdef UNIV_DEBUG around debug code
innobase/buf/buf0flu.c:
  Add #ifdef UNIV_DEBUG around debug code
innobase/buf/buf0lru.c:
  Add #ifdef UNIV_DEBUG around debug code
innobase/buf/buf0rea.c:
  Add #ifdef UNIV_DEBUG around debug code
innobase/data/data0type.c:
  Add #ifdef UNIV_DEBUG around debug code
innobase/dict/dict0dict.c:
  Add #ifdef UNIV_DEBUG around debug code
innobase/fsp/fsp0fsp.c:
  Add #ifdef UNIV_DEBUG around debug code
innobase/fut/fut0lst.c:
  Add #ifdef UNIV_DEBUG around debug code
innobase/ibuf/ibuf0ibuf.c:
  Add #ifdef UNIV_DEBUG around debug code
innobase/include/btr0btr.h:
  Add #ifdef UNIV_DEBUG around debug code
innobase/include/buf0buf.h:
  Add #ifdef UNIV_DEBUG around debug code
innobase/include/buf0buf.ic:
  Remove global declaration of buf_dbg_counter
innobase/include/buf0flu.h:
  Add #ifdef UNIV_DEBUG around debug code
innobase/include/buf0lru.h:
  Add #ifdef UNIV_DEBUG around debug code
innobase/include/data0type.h:
  Add #ifdef UNIV_DEBUG around debug code
innobase/include/dict0dict.h:
  Add #ifdef UNIV_DEBUG around debug code
innobase/include/fsp0fsp.h:
  Add #ifdef UNIV_DEBUG around debug code
innobase/include/fut0lst.h:
  Add #ifdef UNIV_DEBUG around debug code
innobase/include/lock0lock.h:
  Add #ifdef UNIV_DEBUG around debug code
innobase/include/mem0dbg.h:
  Add #ifdef UNIV_DEBUG around debug code
innobase/include/mem0dbg.ic:
  Add #ifdef UNIV_MEM_DEBUG around debug code
innobase/include/mem0pool.h:
  Add #ifdef UNIV_DEBUG around debug code
innobase/include/mtr0mtr.h:
  Add #ifdef UNIV_DEBUG around debug code
innobase/include/pars0opt.h:
  Add #ifdef UNIV_SQL_DEBUG around debug code
innobase/include/sync0rw.h:
  Add #ifdef UNIV_DEBUG around debug code
innobase/include/sync0sync.h:
  Add #ifdef UNIV_DEBUG around debug code
innobase/include/trx0sys.h:
  Add #ifdef UNIV_HOTBACKUP around InnoDB Hot Backup specific code
innobase/lock/lock0lock.c:
  Add #ifdef UNIV_DEBUG around debug code
innobase/mem/mem0dbg.c:
  Add #ifdef UNIV_DEBUG around debug code
innobase/mem/mem0pool.c:
  Add #ifdef UNIV_DEBUG around debug code
innobase/mtr/mtr0mtr.c:
  Add #ifdef UNIV_DEBUG around debug code
innobase/pars/pars0opt.c:
  Add #ifdef UNIV_SQL_DEBUG around debug code
innobase/srv/srv0start.c:
  Add #ifdef UNIV_DEBUG around debug code
innobase/sync/sync0rw.c:
  Add #ifdef UNIV_DEBUG around debug code
innobase/sync/sync0sync.c:
  Add #ifdef UNIV_DEBUG around debug code
innobase/trx/trx0roll.c:
  Add #ifdef UNIV_DEBUG around debug code
innobase/trx/trx0sys.c:
  Add #ifdef UNIV_HOTBACKUP around InnoDB Hot Backup specific code
parent 1f50a034
...@@ -2162,6 +2162,7 @@ btr_discard_page( ...@@ -2162,6 +2162,7 @@ btr_discard_page(
ut_ad(btr_check_node_ptr(tree, merge_page, mtr)); ut_ad(btr_check_node_ptr(tree, merge_page, mtr));
} }
#ifdef UNIV_DEBUG
/***************************************************************** /*****************************************************************
Prints size info of a B-tree. */ Prints size info of a B-tree. */
...@@ -2282,6 +2283,7 @@ btr_print_tree( ...@@ -2282,6 +2283,7 @@ btr_print_tree(
btr_validate_tree(tree); btr_validate_tree(tree);
} }
#endif /* UNIV_DEBUG */
/**************************************************************** /****************************************************************
Checks that the node pointer to a page is appropriate. */ Checks that the node pointer to a page is appropriate. */
......
...@@ -201,12 +201,14 @@ the read requests for the whole area. */ ...@@ -201,12 +201,14 @@ the read requests for the whole area. */
buf_pool_t* buf_pool = NULL; /* The buffer buf_pool of the database */ buf_pool_t* buf_pool = NULL; /* The buffer buf_pool of the database */
ulint buf_dbg_counter = 0; /* This is used to insert validation #ifdef UNIV_DEBUG
static ulint buf_dbg_counter = 0; /* This is used to insert validation
operations in excution in the operations in excution in the
debug version */ debug version */
ibool buf_debug_prints = FALSE; /* If this is set TRUE, ibool buf_debug_prints = FALSE; /* If this is set TRUE,
the program prints info whenever the program prints info whenever
read-ahead or flush occurs */ read-ahead or flush occurs */
#endif /* UNIV_DEBUG */
/************************************************************************ /************************************************************************
Calculates a page checksum which is stored to the page when it is written Calculates a page checksum which is stored to the page when it is written
...@@ -1455,10 +1457,12 @@ buf_page_create( ...@@ -1455,10 +1457,12 @@ buf_page_create(
/* If we get here, the page was not in buf_pool: init it there */ /* If we get here, the page was not in buf_pool: init it there */
#ifdef UNIV_DEBUG
if (buf_debug_prints) { if (buf_debug_prints) {
fprintf(stderr, "Creating space %lu page %lu to buffer\n", fprintf(stderr, "Creating space %lu page %lu to buffer\n",
space, offset); space, offset);
} }
#endif /* UNIV_DEBUG */
block = free_block; block = free_block;
...@@ -1609,9 +1613,11 @@ buf_page_io_complete( ...@@ -1609,9 +1613,11 @@ buf_page_io_complete(
rw_lock_x_unlock_gen(&(block->lock), BUF_IO_READ); rw_lock_x_unlock_gen(&(block->lock), BUF_IO_READ);
rw_lock_x_unlock_gen(&(block->read_lock), BUF_IO_READ); rw_lock_x_unlock_gen(&(block->read_lock), BUF_IO_READ);
#ifdef UNIV_DEBUG
if (buf_debug_prints) { if (buf_debug_prints) {
fputs("Has read ", stderr); fputs("Has read ", stderr);
} }
#endif /* UNIV_DEBUG */
} else { } else {
ut_ad(io_type == BUF_IO_WRITE); ut_ad(io_type == BUF_IO_WRITE);
...@@ -1624,17 +1630,21 @@ buf_page_io_complete( ...@@ -1624,17 +1630,21 @@ buf_page_io_complete(
buf_pool->n_pages_written++; buf_pool->n_pages_written++;
#ifdef UNIV_DEBUG
if (buf_debug_prints) { if (buf_debug_prints) {
fputs("Has written ", stderr); fputs("Has written ", stderr);
} }
#endif /* UNIV_DEBUG */
} }
mutex_exit(&(buf_pool->mutex)); mutex_exit(&(buf_pool->mutex));
#ifdef UNIV_DEBUG
if (buf_debug_prints) { if (buf_debug_prints) {
fprintf(stderr, "page space %lu page no %lu\n", fprintf(stderr, "page space %lu page no %lu\n",
block->space, block->offset); block->space, block->offset);
} }
#endif /* UNIV_DEBUG */
} }
/************************************************************************* /*************************************************************************
...@@ -1663,6 +1673,7 @@ buf_pool_invalidate(void) ...@@ -1663,6 +1673,7 @@ buf_pool_invalidate(void)
mutex_exit(&(buf_pool->mutex)); mutex_exit(&(buf_pool->mutex));
} }
#ifdef UNIV_DEBUG
/************************************************************************* /*************************************************************************
Validates the buffer buf_pool data structure. */ Validates the buffer buf_pool data structure. */
...@@ -1861,6 +1872,7 @@ buf_print(void) ...@@ -1861,6 +1872,7 @@ buf_print(void)
ut_a(buf_validate()); ut_a(buf_validate());
} }
#endif /* UNIV_DEBUG */
/************************************************************************* /*************************************************************************
Returns the number of pending buf pool ios. */ Returns the number of pending buf pool ios. */
......
...@@ -31,6 +31,7 @@ flushed along with the original page. */ ...@@ -31,6 +31,7 @@ flushed along with the original page. */
#define BUF_FLUSH_AREA ut_min(BUF_READ_AHEAD_AREA,\ #define BUF_FLUSH_AREA ut_min(BUF_READ_AHEAD_AREA,\
buf_pool->curr_size / 16) buf_pool->curr_size / 16)
#ifdef UNIV_DEBUG
/********************************************************************** /**********************************************************************
Validates the flush list. */ Validates the flush list. */
static static
...@@ -38,6 +39,7 @@ ibool ...@@ -38,6 +39,7 @@ ibool
buf_flush_validate_low(void); buf_flush_validate_low(void);
/*========================*/ /*========================*/
/* out: TRUE if ok */ /* out: TRUE if ok */
#endif /* UNIV_DEBUG */
/************************************************************************ /************************************************************************
Inserts a modified block into the flush list. */ Inserts a modified block into the flush list. */
...@@ -488,11 +490,13 @@ buf_flush_try_page( ...@@ -488,11 +490,13 @@ buf_flush_try_page(
rw_lock_s_lock_gen(&(block->lock), BUF_IO_WRITE); rw_lock_s_lock_gen(&(block->lock), BUF_IO_WRITE);
} }
#ifdef UNIV_DEBUG
if (buf_debug_prints) { if (buf_debug_prints) {
fprintf(stderr, fprintf(stderr,
"Flushing page space %lu, page no %lu \n", "Flushing page space %lu, page no %lu \n",
block->space, block->offset); block->space, block->offset);
} }
#endif /* UNIV_DEBUG */
buf_flush_write_block_low(block); buf_flush_write_block_low(block);
...@@ -548,11 +552,13 @@ buf_flush_try_page( ...@@ -548,11 +552,13 @@ buf_flush_try_page(
rw_lock_s_lock_gen(&(block->lock), BUF_IO_WRITE); rw_lock_s_lock_gen(&(block->lock), BUF_IO_WRITE);
#ifdef UNIV_DEBUG
if (buf_debug_prints) { if (buf_debug_prints) {
fprintf(stderr, fprintf(stderr,
"Flushing single page space %lu, page no %lu \n", "Flushing single page space %lu, page no %lu \n",
block->space, block->offset); block->space, block->offset);
} }
#endif /* UNIV_DEBUG */
buf_flush_write_block_low(block); buf_flush_write_block_low(block);
...@@ -779,6 +785,7 @@ buf_flush_batch( ...@@ -779,6 +785,7 @@ buf_flush_batch(
buf_flush_buffered_writes(); buf_flush_buffered_writes();
#ifdef UNIV_DEBUG
if (buf_debug_prints && page_count > 0) { if (buf_debug_prints && page_count > 0) {
ut_a(flush_type == BUF_FLUSH_LRU ut_a(flush_type == BUF_FLUSH_LRU
|| flush_type == BUF_FLUSH_LIST); || flush_type == BUF_FLUSH_LIST);
...@@ -787,6 +794,7 @@ buf_flush_batch( ...@@ -787,6 +794,7 @@ buf_flush_batch(
: "Flushed %lu pages in flush list flush\n", : "Flushed %lu pages in flush list flush\n",
page_count); page_count);
} }
#endif /* UNIV_DEBUG */
return(page_count); return(page_count);
} }
...@@ -878,6 +886,7 @@ buf_flush_free_margin(void) ...@@ -878,6 +886,7 @@ buf_flush_free_margin(void)
} }
} }
#ifdef UNIV_DEBUG
/********************************************************************** /**********************************************************************
Validates the flush list. */ Validates the flush list. */
static static
...@@ -927,3 +936,4 @@ buf_flush_validate(void) ...@@ -927,3 +936,4 @@ buf_flush_validate(void)
return(ret); return(ret);
} }
#endif /* UNIV_DEBUG */
...@@ -125,11 +125,13 @@ buf_LRU_search_and_free_block( ...@@ -125,11 +125,13 @@ buf_LRU_search_and_free_block(
if (buf_flush_ready_for_replace(block)) { if (buf_flush_ready_for_replace(block)) {
#ifdef UNIV_DEBUG
if (buf_debug_prints) { if (buf_debug_prints) {
fprintf(stderr, fprintf(stderr,
"Putting space %lu page %lu to free list\n", "Putting space %lu page %lu to free list\n",
block->space, block->offset); block->space, block->offset);
} }
#endif /* UNIV_DEBUG */
buf_LRU_block_remove_hashed_page(block); buf_LRU_block_remove_hashed_page(block);
...@@ -705,6 +707,7 @@ buf_LRU_block_free_hashed_page( ...@@ -705,6 +707,7 @@ buf_LRU_block_free_hashed_page(
buf_LRU_block_free_non_file_page(block); buf_LRU_block_free_non_file_page(block);
} }
#ifdef UNIV_DEBUG
/************************************************************************** /**************************************************************************
Validates the LRU list. */ Validates the LRU list. */
...@@ -835,3 +838,4 @@ buf_LRU_print(void) ...@@ -835,3 +838,4 @@ buf_LRU_print(void)
mutex_exit(&(buf_pool->mutex)); mutex_exit(&(buf_pool->mutex));
} }
#endif /* UNIV_DEBUG */
...@@ -101,11 +101,13 @@ buf_read_page_low( ...@@ -101,11 +101,13 @@ buf_read_page_low(
block = buf_page_init_for_read(mode, space, offset); block = buf_page_init_for_read(mode, space, offset);
if (block != NULL) { if (block != NULL) {
#ifdef UNIV_DEBUG
if (buf_debug_prints) { if (buf_debug_prints) {
fprintf(stderr, fprintf(stderr,
"Posting read request for page %lu, sync %lu\n", "Posting read request for page %lu, sync %lu\n",
offset, sync); offset, sync);
} }
#endif /* UNIV_DEBUG */
fil_io(OS_FILE_READ | wake_later, fil_io(OS_FILE_READ | wake_later,
sync, space, offset, 0, UNIV_PAGE_SIZE, sync, space, offset, 0, UNIV_PAGE_SIZE,
...@@ -242,11 +244,13 @@ buf_read_ahead_random( ...@@ -242,11 +244,13 @@ buf_read_ahead_random(
os_aio_simulated_wake_handler_threads(); os_aio_simulated_wake_handler_threads();
#ifdef UNIV_DEBUG
if (buf_debug_prints && (count > 0)) { if (buf_debug_prints && (count > 0)) {
fprintf(stderr, fprintf(stderr,
"Random read-ahead space %lu offset %lu pages %lu\n", "Random read-ahead space %lu offset %lu pages %lu\n",
space, offset, count); space, offset, count);
} }
#endif /* UNIV_DEBUG */
return(count); return(count);
} }
...@@ -500,11 +504,13 @@ buf_read_ahead_linear( ...@@ -500,11 +504,13 @@ buf_read_ahead_linear(
/* Flush pages from the end of the LRU list if necessary */ /* Flush pages from the end of the LRU list if necessary */
buf_flush_free_margin(); buf_flush_free_margin();
#ifdef UNIV_DEBUG
if (buf_debug_prints && (count > 0)) { if (buf_debug_prints && (count > 0)) {
fprintf(stderr, fprintf(stderr,
"LINEAR read-ahead space %lu offset %lu pages %lu\n", "LINEAR read-ahead space %lu offset %lu pages %lu\n",
space, offset, count); space, offset, count);
} }
#endif /* UNIV_DEBUG */
return(count); return(count);
} }
...@@ -549,11 +555,13 @@ buf_read_ibuf_merge_pages( ...@@ -549,11 +555,13 @@ buf_read_ibuf_merge_pages(
/* Flush pages from the end of the LRU list if necessary */ /* Flush pages from the end of the LRU list if necessary */
buf_flush_free_margin(); buf_flush_free_margin();
#ifdef UNIV_DEBUG
if (buf_debug_prints) { if (buf_debug_prints) {
fprintf(stderr, fprintf(stderr,
"Ibuf merge read-ahead space %lu pages %lu\n", "Ibuf merge read-ahead space %lu pages %lu\n",
space, n_stored); space, n_stored);
} }
#endif /* UNIV_DEBUG */
} }
/************************************************************************ /************************************************************************
...@@ -613,8 +621,10 @@ buf_read_recv_pages( ...@@ -613,8 +621,10 @@ buf_read_recv_pages(
/* Flush pages from the end of the LRU list if necessary */ /* Flush pages from the end of the LRU list if necessary */
buf_flush_free_margin(); buf_flush_free_margin();
#ifdef UNIV_DEBUG
if (buf_debug_prints) { if (buf_debug_prints) {
fprintf(stderr, fprintf(stderr,
"Recovery applies read-ahead pages %lu\n", n_stored); "Recovery applies read-ahead pages %lu\n", n_stored);
} }
#endif /* UNIV_DEBUG */
} }
...@@ -15,6 +15,7 @@ Created 1/16/1996 Heikki Tuuri ...@@ -15,6 +15,7 @@ Created 1/16/1996 Heikki Tuuri
dtype_t dtype_binary_val = {DATA_BINARY, 0, 0, 0}; dtype_t dtype_binary_val = {DATA_BINARY, 0, 0, 0};
dtype_t* dtype_binary = &dtype_binary_val; dtype_t* dtype_binary = &dtype_binary_val;
#ifdef UNIV_DEBUG
/************************************************************************* /*************************************************************************
Validates a data type structure. */ Validates a data type structure. */
...@@ -33,6 +34,7 @@ dtype_validate( ...@@ -33,6 +34,7 @@ dtype_validate(
return(TRUE); return(TRUE);
} }
#endif /* UNIV_DEBUG */
/************************************************************************* /*************************************************************************
Prints a data type structure. */ Prints a data type structure. */
......
...@@ -3819,6 +3819,7 @@ dict_foreign_print_low( ...@@ -3819,6 +3819,7 @@ dict_foreign_print_low(
fputs(" )\n", stderr); fputs(" )\n", stderr);
} }
#ifdef UNIV_DEBUG
/************************************************************************** /**************************************************************************
Prints a table data. */ Prints a table data. */
...@@ -3851,6 +3852,7 @@ dict_table_print_by_name( ...@@ -3851,6 +3852,7 @@ dict_table_print_by_name(
dict_table_print_low(table); dict_table_print_low(table);
mutex_exit(&(dict_sys->mutex)); mutex_exit(&(dict_sys->mutex));
} }
#endif /* UNIV_DEBUG */
/************************************************************************** /**************************************************************************
Prints a table data. */ Prints a table data. */
......
...@@ -3236,7 +3236,8 @@ fseg_validate_low( ...@@ -3236,7 +3236,8 @@ fseg_validate_low(
return(TRUE); return(TRUE);
} }
#ifdef UNIV_DEBUG
/*********************************************************************** /***********************************************************************
Validates a segment. */ Validates a segment. */
...@@ -3261,6 +3262,7 @@ fseg_validate( ...@@ -3261,6 +3262,7 @@ fseg_validate(
return(ret); return(ret);
} }
#endif /* UNIV_DEBUG */
/*********************************************************************** /***********************************************************************
Writes info of a segment. */ Writes info of a segment. */
...@@ -3311,6 +3313,7 @@ fseg_print_low( ...@@ -3311,6 +3313,7 @@ fseg_print_low(
n_frag, n_free, n_not_full, n_used); n_frag, n_free, n_not_full, n_used);
} }
#ifdef UNIV_DEBUG
/*********************************************************************** /***********************************************************************
Writes info of a segment. */ Writes info of a segment. */
...@@ -3331,6 +3334,7 @@ fseg_print( ...@@ -3331,6 +3334,7 @@ fseg_print(
fseg_print_low(inode, mtr); fseg_print_low(inode, mtr);
} }
#endif /* UNIV_DEBUG */
/*********************************************************************** /***********************************************************************
Validates the file space system and its segments. */ Validates the file space system and its segments. */
......
...@@ -490,6 +490,7 @@ flst_validate( ...@@ -490,6 +490,7 @@ flst_validate(
return(TRUE); return(TRUE);
} }
#ifdef UNIV_DEBUG
/************************************************************************ /************************************************************************
Prints info of a file-based list. */ Prints info of a file-based list. */
...@@ -515,3 +516,4 @@ flst_print( ...@@ -515,3 +516,4 @@ flst_print(
buf_frame_get_space_id(frame), buf_frame_get_page_no(frame), buf_frame_get_space_id(frame), buf_frame_get_page_no(frame),
(ulint) (base - frame), len); (ulint) (base - frame), len);
} }
#endif /* UNIV_DEBUG */
...@@ -172,13 +172,15 @@ because ibuf merge is done to a page when it is read in, and it is ...@@ -172,13 +172,15 @@ because ibuf merge is done to a page when it is read in, and it is
still physically like the index page even if the index would have been still physically like the index page even if the index would have been
dropped! So, there seems to be no problem. */ dropped! So, there seems to be no problem. */
#ifdef UNIV_DEBUG
/********************************************************************** /**********************************************************************
Validates the ibuf data structures when the caller owns ibuf_mutex. */ Validates the ibuf data structures when the caller owns ibuf_mutex. */
static
ibool ibool
ibuf_validate_low(void); ibuf_validate_low(void);
/*===================*/ /*===================*/
/* out: TRUE if ok */ /* out: TRUE if ok */
#endif /* UNIV_DEBUG */
/********************************************************************** /**********************************************************************
Sets the flag in the current OS thread local storage denoting that it is Sets the flag in the current OS thread local storage denoting that it is
...@@ -2753,9 +2755,10 @@ reset_bit: ...@@ -2753,9 +2755,10 @@ reset_bit:
#endif #endif
} }
#ifdef UNIV_DEBUG
/********************************************************************** /**********************************************************************
Validates the ibuf data structures when the caller owns ibuf_mutex. */ Validates the ibuf data structures when the caller owns ibuf_mutex. */
static
ibool ibool
ibuf_validate_low(void) ibuf_validate_low(void)
/*===================*/ /*===================*/
...@@ -2782,6 +2785,7 @@ ibuf_validate_low(void) ...@@ -2782,6 +2785,7 @@ ibuf_validate_low(void)
return(TRUE); return(TRUE);
} }
#endif /* UNIV_DEBUG */
/********************************************************************** /**********************************************************************
Prints info of ibuf. */ Prints info of ibuf. */
......
...@@ -392,6 +392,7 @@ btr_page_free_low( ...@@ -392,6 +392,7 @@ btr_page_free_low(
page_t* page, /* in: page to be freed, x-latched */ page_t* page, /* in: page to be freed, x-latched */
ulint level, /* in: page level */ ulint level, /* in: page level */
mtr_t* mtr); /* in: mtr */ mtr_t* mtr); /* in: mtr */
#ifdef UNIV_DEBUG
/***************************************************************** /*****************************************************************
Prints size info of a B-tree. */ Prints size info of a B-tree. */
...@@ -408,6 +409,7 @@ btr_print_tree( ...@@ -408,6 +409,7 @@ btr_print_tree(
dict_tree_t* tree, /* in: tree */ dict_tree_t* tree, /* in: tree */
ulint width); /* in: print this many entries from start ulint width); /* in: print this many entries from start
and end */ and end */
#endif /* UNIV_DEBUG */
/**************************************************************** /****************************************************************
Checks the size and number of fields in a record based on the definition of Checks the size and number of fields in a record based on the definition of
the index. */ the index. */
......
...@@ -53,9 +53,11 @@ Created 11/5/1995 Heikki Tuuri ...@@ -53,9 +53,11 @@ Created 11/5/1995 Heikki Tuuri
#define BUF_KEEP_OLD 52 #define BUF_KEEP_OLD 52
extern buf_pool_t* buf_pool; /* The buffer pool of the database */ extern buf_pool_t* buf_pool; /* The buffer pool of the database */
#ifdef UNIV_DEBUG
extern ibool buf_debug_prints;/* If this is set TRUE, the program extern ibool buf_debug_prints;/* If this is set TRUE, the program
prints info whenever read or flush prints info whenever read or flush
occurs */ occurs */
#endif /* UNIV_DEBUG */
/************************************************************************ /************************************************************************
Initializes the buffer pool of the database. */ Initializes the buffer pool of the database. */
...@@ -452,12 +454,14 @@ buf_pool_is_block( ...@@ -452,12 +454,14 @@ buf_pool_is_block(
/*==============*/ /*==============*/
/* out: TRUE if pointer to block */ /* out: TRUE if pointer to block */
void* ptr); /* in: pointer to memory */ void* ptr); /* in: pointer to memory */
#ifdef UNIV_DEBUG
/************************************************************************* /*************************************************************************
Validates the buffer pool data structure. */ Validates the buffer pool data structure. */
ibool ibool
buf_validate(void); buf_validate(void);
/*==============*/ /*==============*/
#endif /* UNIV_DEBUG */
/************************************************************************ /************************************************************************
Prints a page to stderr. */ Prints a page to stderr. */
...@@ -816,7 +820,7 @@ struct buf_pool_struct{ ...@@ -816,7 +820,7 @@ struct buf_pool_struct{
ulint n_pend_reads; /* number of pending read operations */ ulint n_pend_reads; /* number of pending read operations */
time_t last_printout_time; /* when buf_print was last time time_t last_printout_time; /* when buf_print_io was last time
called */ called */
ulint n_pages_read; /* number read operations */ ulint n_pages_read; /* number read operations */
ulint n_pages_written;/* number write operations */ ulint n_pages_written;/* number write operations */
...@@ -828,10 +832,10 @@ struct buf_pool_struct{ ...@@ -828,10 +832,10 @@ struct buf_pool_struct{
counted as page gets; this field counted as page gets; this field
is NOT protected by the buffer is NOT protected by the buffer
pool mutex */ pool mutex */
ulint n_page_gets_old;/* n_page_gets when buf_print was ulint n_page_gets_old;/* n_page_gets when buf_print_io was
last time called: used to calculate last time called: used to calculate
hit rate */ hit rate */
ulint n_pages_read_old;/* n_pages_read when buf_print was ulint n_pages_read_old;/* n_pages_read when buf_print_io was
last time called */ last time called */
ulint n_pages_written_old;/* number write operations */ ulint n_pages_written_old;/* number write operations */
ulint n_pages_created_old;/* number of pages created in ulint n_pages_created_old;/* number of pages created in
......
...@@ -11,10 +11,6 @@ Created 11/5/1995 Heikki Tuuri ...@@ -11,10 +11,6 @@ Created 11/5/1995 Heikki Tuuri
#include "buf0rea.h" #include "buf0rea.h"
#include "mtr0mtr.h" #include "mtr0mtr.h"
extern ulint buf_dbg_counter; /* This is used to insert validation
operations in execution in the
debug version */
/************************************************************************ /************************************************************************
Recommends a move of a block to the start of the LRU list if there is danger Recommends a move of a block to the start of the LRU list if there is danger
of dropping from the buffer pool. NOTE: does not reserve the buffer pool of dropping from the buffer pool. NOTE: does not reserve the buffer pool
......
...@@ -97,6 +97,7 @@ buf_flush_ready_for_replace( ...@@ -97,6 +97,7 @@ buf_flush_ready_for_replace(
/* out: TRUE if can replace immediately */ /* out: TRUE if can replace immediately */
buf_block_t* block); /* in: buffer control block, must be in state buf_block_t* block); /* in: buffer control block, must be in state
BUF_BLOCK_FILE_PAGE and in the LRU list */ BUF_BLOCK_FILE_PAGE and in the LRU list */
#ifdef UNIV_DEBUG
/********************************************************************** /**********************************************************************
Validates the flush list. */ Validates the flush list. */
...@@ -104,6 +105,7 @@ ibool ...@@ -104,6 +105,7 @@ ibool
buf_flush_validate(void); buf_flush_validate(void);
/*====================*/ /*====================*/
/* out: TRUE if ok */ /* out: TRUE if ok */
#endif /* UNIV_DEBUG */
/* When buf_flush_free_margin is called, it tries to make this many blocks /* When buf_flush_free_margin is called, it tries to make this many blocks
available to replacement in the free list and at the end of the LRU list (to available to replacement in the free list and at the end of the LRU list (to
......
...@@ -100,6 +100,7 @@ void ...@@ -100,6 +100,7 @@ void
buf_LRU_make_block_old( buf_LRU_make_block_old(
/*===================*/ /*===================*/
buf_block_t* block); /* in: control block */ buf_block_t* block); /* in: control block */
#ifdef UNIV_DEBUG
/************************************************************************** /**************************************************************************
Validates the LRU list. */ Validates the LRU list. */
...@@ -112,6 +113,7 @@ Prints the LRU list. */ ...@@ -112,6 +113,7 @@ Prints the LRU list. */
void void
buf_LRU_print(void); buf_LRU_print(void);
/*===============*/ /*===============*/
#endif /* UNIV_DEBUG */
#ifndef UNIV_NONINL #ifndef UNIV_NONINL
#include "buf0lru.ic" #include "buf0lru.ic"
......
...@@ -190,6 +190,7 @@ dtype_read_for_order_and_null_size( ...@@ -190,6 +190,7 @@ dtype_read_for_order_and_null_size(
/*===============================*/ /*===============================*/
dtype_t* type, /* in: type struct */ dtype_t* type, /* in: type struct */
byte* buf); /* in: buffer for the stored order info */ byte* buf); /* in: buffer for the stored order info */
#ifdef UNIV_DEBUG
/************************************************************************* /*************************************************************************
Validates a data type structure. */ Validates a data type structure. */
...@@ -198,6 +199,7 @@ dtype_validate( ...@@ -198,6 +199,7 @@ dtype_validate(
/*===========*/ /*===========*/
/* out: TRUE if ok */ /* out: TRUE if ok */
dtype_t* type); /* in: type struct to validate */ dtype_t* type); /* in: type struct to validate */
#endif /* UNIV_DEBUG */
/************************************************************************* /*************************************************************************
Prints a data type structure. */ Prints a data type structure. */
......
...@@ -301,18 +301,19 @@ dict_table_get_index_noninline( ...@@ -301,18 +301,19 @@ dict_table_get_index_noninline(
dict_table_t* table, /* in: table */ dict_table_t* table, /* in: table */
char* name); /* in: index name */ char* name); /* in: index name */
/************************************************************************** /**************************************************************************
Prints a table definition. */ Prints a table data. */
void void
dict_table_print( dict_table_print_low(
/*=============*/ /*=================*/
dict_table_t* table); /* in: table */ dict_table_t* table); /* in: table */
#ifdef UNIV_DEBUG
/************************************************************************** /**************************************************************************
Prints a table data. */ Prints a table definition. */
void void
dict_table_print_low( dict_table_print(
/*=================*/ /*=============*/
dict_table_t* table); /* in: table */ dict_table_t* table); /* in: table */
/************************************************************************** /**************************************************************************
Prints a table data when we know the table name. */ Prints a table data when we know the table name. */
...@@ -321,6 +322,7 @@ void ...@@ -321,6 +322,7 @@ void
dict_table_print_by_name( dict_table_print_by_name(
/*=====================*/ /*=====================*/
char* name); char* name);
#endif /* UNIV_DEBUG */
/************************************************************************** /**************************************************************************
Outputs info on foreign keys of a table. */ Outputs info on foreign keys of a table. */
......
...@@ -297,6 +297,7 @@ void ...@@ -297,6 +297,7 @@ void
fsp_print( fsp_print(
/*======*/ /*======*/
ulint space); /* in: space id */ ulint space); /* in: space id */
#ifdef UNIV_DEBUG
/*********************************************************************** /***********************************************************************
Validates a segment. */ Validates a segment. */
...@@ -314,6 +315,7 @@ fseg_print( ...@@ -314,6 +315,7 @@ fseg_print(
/*=======*/ /*=======*/
fseg_header_t* header, /* in: segment header */ fseg_header_t* header, /* in: segment header */
mtr_t* mtr); /* in: mtr */ mtr_t* mtr); /* in: mtr */
#endif /* UNIV_DEBUG */
/* Flags for fsp_reserve_free_extents */ /* Flags for fsp_reserve_free_extents */
#define FSP_NORMAL 1000000 #define FSP_NORMAL 1000000
......
...@@ -181,6 +181,7 @@ flst_validate( ...@@ -181,6 +181,7 @@ flst_validate(
/* out: TRUE if ok */ /* out: TRUE if ok */
flst_base_node_t* base, /* in: pointer to base node of list */ flst_base_node_t* base, /* in: pointer to base node of list */
mtr_t* mtr1); /* in: mtr */ mtr_t* mtr1); /* in: mtr */
#ifdef UNIV_DEBUG
/************************************************************************ /************************************************************************
Prints info of a file-based list. */ Prints info of a file-based list. */
...@@ -189,7 +190,7 @@ flst_print( ...@@ -189,7 +190,7 @@ flst_print(
/*=======*/ /*=======*/
flst_base_node_t* base, /* in: pointer to base node of list */ flst_base_node_t* base, /* in: pointer to base node of list */
mtr_t* mtr); /* in: mtr */ mtr_t* mtr); /* in: mtr */
#endif /* UNIV_DEBUG */
#ifndef UNIV_NONINL #ifndef UNIV_NONINL
#include "fut0lst.ic" #include "fut0lst.ic"
......
...@@ -19,7 +19,9 @@ Created 5/7/1996 Heikki Tuuri ...@@ -19,7 +19,9 @@ Created 5/7/1996 Heikki Tuuri
#include "read0types.h" #include "read0types.h"
#include "hash0hash.h" #include "hash0hash.h"
#ifdef UNIV_DEBUG
extern ibool lock_print_waits; extern ibool lock_print_waits;
#endif /* UNIV_DEBUG */
/* Buffer for storing information about the most recent deadlock error */ /* Buffer for storing information about the most recent deadlock error */
extern FILE* lock_latest_err_file; extern FILE* lock_latest_err_file;
...@@ -455,6 +457,7 @@ lock_check_trx_id_sanity( ...@@ -455,6 +457,7 @@ lock_check_trx_id_sanity(
dict_index_t* index, /* in: clustered index */ dict_index_t* index, /* in: clustered index */
ibool has_kernel_mutex);/* in: TRUE if the caller owns the ibool has_kernel_mutex);/* in: TRUE if the caller owns the
kernel mutex */ kernel mutex */
#ifdef UNIV_DEBUG
/************************************************************************* /*************************************************************************
Validates the lock queue on a single record. */ Validates the lock queue on a single record. */
...@@ -464,6 +467,7 @@ lock_rec_queue_validate( ...@@ -464,6 +467,7 @@ lock_rec_queue_validate(
/* out: TRUE if ok */ /* out: TRUE if ok */
rec_t* rec, /* in: record to look at */ rec_t* rec, /* in: record to look at */
dict_index_t* index); /* in: index, or NULL if not known */ dict_index_t* index); /* in: index, or NULL if not known */
#endif /* UNIV_DEBUG */
/************************************************************************* /*************************************************************************
Prints info of a table lock. */ Prints info of a table lock. */
...@@ -487,6 +491,7 @@ void ...@@ -487,6 +491,7 @@ void
lock_print_info( lock_print_info(
/*============*/ /*============*/
FILE* file); /* in: file where to print */ FILE* file); /* in: file where to print */
#ifdef UNIV_DEBUG
/************************************************************************* /*************************************************************************
Validates the lock queue on a table. */ Validates the lock queue on a table. */
...@@ -511,6 +516,7 @@ ibool ...@@ -511,6 +516,7 @@ ibool
lock_validate(void); lock_validate(void);
/*===============*/ /*===============*/
/* out: TRUE if ok */ /* out: TRUE if ok */
#endif /* UNIV_DEBUG */
/* The lock system */ /* The lock system */
extern lock_sys_t* lock_sys; extern lock_sys_t* lock_sys;
......
...@@ -31,6 +31,7 @@ check fields at the both ends of the field. */ ...@@ -31,6 +31,7 @@ check fields at the both ends of the field. */
#define MEM_SPACE_NEEDED(N) ut_calc_align((N), UNIV_MEM_ALIGNMENT) #define MEM_SPACE_NEEDED(N) ut_calc_align((N), UNIV_MEM_ALIGNMENT)
#endif #endif
#ifdef UNIV_DEBUG
/******************************************************************* /*******************************************************************
Checks a memory heap for consistency and prints the contents if requested. Checks a memory heap for consistency and prints the contents if requested.
Outputs the sum of sizes of buffers given to the user (only in Outputs the sum of sizes of buffers given to the user (only in
...@@ -60,6 +61,7 @@ mem_heap_validate_or_print( ...@@ -60,6 +61,7 @@ mem_heap_validate_or_print(
ulint* n_blocks); /* out: number of blocks in the heap, ulint* n_blocks); /* out: number of blocks in the heap,
if a NULL pointer is passed as this if a NULL pointer is passed as this
argument, it is ignored */ argument, it is ignored */
#endif /* UNIV_DEBUG */
#ifdef UNIV_MEM_DEBUG #ifdef UNIV_MEM_DEBUG
/****************************************************************** /******************************************************************
Prints the contents of a memory heap. */ Prints the contents of a memory heap. */
...@@ -69,6 +71,7 @@ mem_heap_print( ...@@ -69,6 +71,7 @@ mem_heap_print(
/*===========*/ /*===========*/
mem_heap_t* heap); /* in: memory heap */ mem_heap_t* heap); /* in: memory heap */
#endif /* UNIV_MEM_DEBUG */ #endif /* UNIV_MEM_DEBUG */
#ifdef UNIV_DEBUG
/****************************************************************** /******************************************************************
Checks that an object is a memory heap (or a block of it) */ Checks that an object is a memory heap (or a block of it) */
...@@ -85,6 +88,7 @@ mem_heap_validate( ...@@ -85,6 +88,7 @@ mem_heap_validate(
/*==============*/ /*==============*/
/* out: TRUE if ok */ /* out: TRUE if ok */
mem_heap_t* heap); /* in: memory heap */ mem_heap_t* heap); /* in: memory heap */
#endif /* UNIV_DEBUG */
#ifdef UNIV_MEM_DEBUG #ifdef UNIV_MEM_DEBUG
/********************************************************************* /*********************************************************************
TRUE if no memory is currently allocated. */ TRUE if no memory is currently allocated. */
......
...@@ -56,6 +56,7 @@ mem_hash_insert( ...@@ -56,6 +56,7 @@ mem_hash_insert(
mem_heap_t* heap, /* in: the created heap */ mem_heap_t* heap, /* in: the created heap */
char* file_name, /* in: file name of creation */ char* file_name, /* in: file name of creation */
ulint line); /* in: line where created */ ulint line); /* in: line where created */
#ifdef UNIV_MEM_DEBUG
/******************************************************************* /*******************************************************************
Removes a memory heap (which is going to be freed by the caller) Removes a memory heap (which is going to be freed by the caller)
from the list of live memory heaps. Returns the size of the heap from the list of live memory heaps. Returns the size of the heap
...@@ -71,7 +72,7 @@ mem_hash_remove( ...@@ -71,7 +72,7 @@ mem_hash_remove(
mem_heap_t* heap, /* in: the heap to be freed */ mem_heap_t* heap, /* in: the heap to be freed */
char* file_name, /* in: file name of freeing */ char* file_name, /* in: file name of freeing */
ulint line); /* in: line where freed */ ulint line); /* in: line where freed */
#endif /* UNIV_MEM_DEBUG */
void void
mem_field_header_set_len(byte* field, ulint len); mem_field_header_set_len(byte* field, ulint len);
......
...@@ -83,6 +83,7 @@ Releases the mem pool mutex. */ ...@@ -83,6 +83,7 @@ Releases the mem pool mutex. */
void void
mem_pool_mutex_exit(void); mem_pool_mutex_exit(void);
/*=====================*/ /*=====================*/
#ifdef UNIV_DEBUG
/************************************************************************ /************************************************************************
Validates a memory pool. */ Validates a memory pool. */
...@@ -99,7 +100,7 @@ mem_pool_print_info( ...@@ -99,7 +100,7 @@ mem_pool_print_info(
/*================*/ /*================*/
FILE* outfile,/* in: output file to write to */ FILE* outfile,/* in: output file to write to */
mem_pool_t* pool); /* in: memory pool */ mem_pool_t* pool); /* in: memory pool */
#endif /* UNIV_DEBUG */
#ifndef UNIV_NONINL #ifndef UNIV_NONINL
#include "mem0pool.ic" #include "mem0pool.ic"
......
...@@ -250,6 +250,7 @@ mtr_memo_contains( ...@@ -250,6 +250,7 @@ mtr_memo_contains(
mtr_t* mtr, /* in: mtr */ mtr_t* mtr, /* in: mtr */
void* object, /* in: object to search */ void* object, /* in: object to search */
ulint type); /* in: type of object */ ulint type); /* in: type of object */
#ifdef UNIV_DEBUG
/************************************************************* /*************************************************************
Prints info of an mtr handle. */ Prints info of an mtr handle. */
...@@ -257,6 +258,7 @@ void ...@@ -257,6 +258,7 @@ void
mtr_print( mtr_print(
/*======*/ /*======*/
mtr_t* mtr); /* in: mtr */ mtr_t* mtr); /* in: mtr */
#endif /* UNIV_DEBUG */
/*######################################################################*/ /*######################################################################*/
#define MTR_BUF_MEMO_SIZE 200 /* number of slots in memo */ #define MTR_BUF_MEMO_SIZE 200 /* number of slots in memo */
......
...@@ -43,6 +43,7 @@ opt_find_all_cols( ...@@ -43,6 +43,7 @@ opt_find_all_cols(
to add new found columns */ to add new found columns */
plan_t* plan, /* in: plan or NULL */ plan_t* plan, /* in: plan or NULL */
que_node_t* exp); /* in: expression or condition */ que_node_t* exp); /* in: expression or condition */
#ifdef UNIV_SQL_DEBUG
/************************************************************************ /************************************************************************
Prints info of a query plan. */ Prints info of a query plan. */
...@@ -50,6 +51,7 @@ void ...@@ -50,6 +51,7 @@ void
opt_print_query_plan( opt_print_query_plan(
/*=================*/ /*=================*/
sel_node_t* sel_node); /* in: select node */ sel_node_t* sel_node); /* in: select node */
#endif /* UNIV_SQL_DEBUG */
#ifndef UNIV_NONINL #ifndef UNIV_NONINL
#include "pars0opt.ic" #include "pars0opt.ic"
......
...@@ -85,6 +85,7 @@ void ...@@ -85,6 +85,7 @@ void
rw_lock_free( rw_lock_free(
/*=========*/ /*=========*/
rw_lock_t* lock); /* in: rw-lock */ rw_lock_t* lock); /* in: rw-lock */
#ifdef UNIV_DEBUG
/********************************************************************** /**********************************************************************
Checks that the rw-lock has been initialized and that there are no Checks that the rw-lock has been initialized and that there are no
simultaneous shared and exclusive locks. */ simultaneous shared and exclusive locks. */
...@@ -93,6 +94,7 @@ ibool ...@@ -93,6 +94,7 @@ ibool
rw_lock_validate( rw_lock_validate(
/*=============*/ /*=============*/
rw_lock_t* lock); rw_lock_t* lock);
#endif /* UNIV_DEBUG */
/****************************************************************** /******************************************************************
NOTE! The following macros should be used in rw s-locking, not the NOTE! The following macros should be used in rw s-locking, not the
corresponding function. */ corresponding function. */
......
...@@ -127,6 +127,7 @@ void ...@@ -127,6 +127,7 @@ void
sync_print( sync_print(
/*=======*/ /*=======*/
FILE* file); /* in: file where to print */ FILE* file); /* in: file where to print */
#ifdef UNIV_DEBUG
/********************************************************************** /**********************************************************************
Checks that the mutex has been initialized. */ Checks that the mutex has been initialized. */
...@@ -134,6 +135,7 @@ ibool ...@@ -134,6 +135,7 @@ ibool
mutex_validate( mutex_validate(
/*===========*/ /*===========*/
mutex_t* mutex); mutex_t* mutex);
#endif /* UNIV_DEBUG */
/********************************************************************** /**********************************************************************
Sets the mutex latching level field. */ Sets the mutex latching level field. */
......
...@@ -268,6 +268,7 @@ the magic number shows it valid. */ ...@@ -268,6 +268,7 @@ the magic number shows it valid. */
void void
trx_sys_print_mysql_binlog_offset(void); trx_sys_print_mysql_binlog_offset(void);
/*===================================*/ /*===================================*/
#ifdef UNIV_HOTBACKUP
/********************************************************************* /*********************************************************************
Prints to stderr the MySQL binlog info in the system header if the Prints to stderr the MySQL binlog info in the system header if the
magic number shows it valid. */ magic number shows it valid. */
...@@ -277,6 +278,7 @@ trx_sys_print_mysql_binlog_offset_from_page( ...@@ -277,6 +278,7 @@ trx_sys_print_mysql_binlog_offset_from_page(
/*========================================*/ /*========================================*/
byte* page); /* in: buffer containing the trx system header page, byte* page); /* in: buffer containing the trx system header page,
i.e., page number TRX_SYS_PAGE_NO in the tablespace */ i.e., page number TRX_SYS_PAGE_NO in the tablespace */
#endif /* UNIV_HOTBACKUP */
/********************************************************************* /*********************************************************************
Prints to stderr the MySQL master log offset info in the trx system header if Prints to stderr the MySQL master log offset info in the trx system header if
the magic number shows it valid. */ the magic number shows it valid. */
......
...@@ -266,7 +266,9 @@ waiting, in its lock queue. Solution: We can copy the locks as gap type ...@@ -266,7 +266,9 @@ waiting, in its lock queue. Solution: We can copy the locks as gap type
locks, so that also the waiting locks are transformed to granted gap type locks, so that also the waiting locks are transformed to granted gap type
locks on the inserted record. */ locks on the inserted record. */
#ifdef UNIV_DEBUG
ibool lock_print_waits = FALSE; ibool lock_print_waits = FALSE;
#endif /* UNIV_DEBUG */
/* The lock system */ /* The lock system */
lock_sys_t* lock_sys = NULL; lock_sys_t* lock_sys = NULL;
...@@ -1326,7 +1328,8 @@ lock_rec_has_expl( ...@@ -1326,7 +1328,8 @@ lock_rec_has_expl(
return(NULL); return(NULL);
} }
#ifdef UNIV_DEBUG
/************************************************************************* /*************************************************************************
Checks if some other transaction has a lock request in the queue. */ Checks if some other transaction has a lock request in the queue. */
static static
...@@ -1369,6 +1372,7 @@ lock_rec_other_has_expl_req( ...@@ -1369,6 +1372,7 @@ lock_rec_other_has_expl_req(
return(NULL); return(NULL);
} }
#endif /* UNIV_DEBUG */
/************************************************************************* /*************************************************************************
Checks if some other transaction has a conflicting explicit lock request Checks if some other transaction has a conflicting explicit lock request
...@@ -1657,11 +1661,13 @@ lock_rec_enqueue_waiting( ...@@ -1657,11 +1661,13 @@ lock_rec_enqueue_waiting(
ut_a(que_thr_stop(thr)); ut_a(que_thr_stop(thr));
#ifdef UNIV_DEBUG
if (lock_print_waits) { if (lock_print_waits) {
fprintf(stderr, "Lock wait for trx %lu in index ", fprintf(stderr, "Lock wait for trx %lu in index ",
ut_dulint_get_low(trx->id)); ut_dulint_get_low(trx->id));
ut_print_name(stderr, index->name); ut_print_name(stderr, index->name);
} }
#endif /* UNIV_DEBUG */
return(DB_LOCK_WAIT); return(DB_LOCK_WAIT);
} }
...@@ -1997,10 +2003,12 @@ lock_grant( ...@@ -1997,10 +2003,12 @@ lock_grant(
lock->trx->auto_inc_lock = lock; lock->trx->auto_inc_lock = lock;
} }
#ifdef UNIV_DEBUG
if (lock_print_waits) { if (lock_print_waits) {
fprintf(stderr, "Lock wait for trx %lu ends\n", fprintf(stderr, "Lock wait for trx %lu ends\n",
ut_dulint_get_low(lock->trx->id)); ut_dulint_get_low(lock->trx->id));
} }
#endif /* UNIV_DEBUG */
/* If we are resolving a deadlock by choosing another transaction /* If we are resolving a deadlock by choosing another transaction
as a victim, then our original transaction may not be in the as a victim, then our original transaction may not be in the
...@@ -3071,9 +3079,11 @@ lock_deadlock_recursive( ...@@ -3071,9 +3079,11 @@ lock_deadlock_recursive(
lock_table_print(ef, start->wait_lock); lock_table_print(ef, start->wait_lock);
} }
#ifdef UNIV_DEBUG
if (lock_print_waits) { if (lock_print_waits) {
fputs("Deadlock detected\n", stderr); fputs("Deadlock detected\n", stderr);
} }
#endif /* UNIV_DEBUG */
if (ut_dulint_cmp(wait_lock->trx->undo_no, if (ut_dulint_cmp(wait_lock->trx->undo_no,
start->undo_no) >= 0) { start->undo_no) >= 0) {
...@@ -3920,7 +3930,7 @@ loop: ...@@ -3920,7 +3930,7 @@ loop:
if (trx == NULL) { if (trx == NULL) {
lock_mutex_exit_kernel(); lock_mutex_exit_kernel();
/* lock_validate(); */ ut_ad(lock_validate());
return; return;
} }
...@@ -4022,6 +4032,7 @@ loop: ...@@ -4022,6 +4032,7 @@ loop:
goto loop; goto loop;
} }
#ifdef UNIV_DEBUG
/************************************************************************* /*************************************************************************
Validates the lock queue on a table. */ Validates the lock queue on a table. */
...@@ -4332,6 +4343,7 @@ lock_validate(void) ...@@ -4332,6 +4343,7 @@ lock_validate(void)
return(TRUE); return(TRUE);
} }
#endif /* UNIV_DEBUG */
/*============ RECORD LOCK CHECKS FOR ROW OPERATIONS ====================*/ /*============ RECORD LOCK CHECKS FOR ROW OPERATIONS ====================*/
......
...@@ -375,6 +375,7 @@ mem_hash_remove( ...@@ -375,6 +375,7 @@ mem_hash_remove(
} }
#endif /* UNIV_MEM_DEBUG */ #endif /* UNIV_MEM_DEBUG */
#ifdef UNIV_DEBUG
/******************************************************************* /*******************************************************************
Checks a memory heap for consistency and prints the contents if requested. Checks a memory heap for consistency and prints the contents if requested.
Outputs the sum of sizes of buffers given to the user (only in Outputs the sum of sizes of buffers given to the user (only in
...@@ -585,6 +586,7 @@ mem_heap_validate( ...@@ -585,6 +586,7 @@ mem_heap_validate(
return(TRUE); return(TRUE);
} }
#endif /* UNIV_DEBUG */
#ifdef UNIV_MEM_DEBUG #ifdef UNIV_MEM_DEBUG
/********************************************************************* /*********************************************************************
......
...@@ -566,6 +566,7 @@ mem_area_free( ...@@ -566,6 +566,7 @@ mem_area_free(
ut_ad(mem_pool_validate(pool)); ut_ad(mem_pool_validate(pool));
} }
#ifdef UNIV_DEBUG
/************************************************************************ /************************************************************************
Validates a memory pool. */ Validates a memory pool. */
...@@ -643,6 +644,7 @@ mem_pool_print_info( ...@@ -643,6 +644,7 @@ mem_pool_print_info(
pool->reserved); pool->reserved);
mutex_exit(&(pool->mutex)); mutex_exit(&(pool->mutex));
} }
#endif /* UNIV_DEBUG */
/************************************************************************ /************************************************************************
Returns the amount of reserved memory. */ Returns the amount of reserved memory. */
......
...@@ -508,6 +508,7 @@ mtr_read_dulint( ...@@ -508,6 +508,7 @@ mtr_read_dulint(
return(mach_read_from_8(ptr)); return(mach_read_from_8(ptr));
} }
#ifdef UNIV_DEBUG
/************************************************************* /*************************************************************
Prints info of an mtr handle. */ Prints info of an mtr handle. */
...@@ -521,3 +522,4 @@ mtr_print( ...@@ -521,3 +522,4 @@ mtr_print(
dyn_array_get_data_size(&(mtr->memo)), dyn_array_get_data_size(&(mtr->memo)),
dyn_array_get_data_size(&(mtr->log))); dyn_array_get_data_size(&(mtr->log)));
} }
#endif /* UNIV_DEBUG */
...@@ -1190,6 +1190,7 @@ opt_search_plan( ...@@ -1190,6 +1190,7 @@ opt_search_plan(
#endif #endif
} }
#ifdef UNIV_SQL_DEBUG
/************************************************************************ /************************************************************************
Prints info of a query plan. */ Prints info of a query plan. */
...@@ -1235,3 +1236,4 @@ opt_print_query_plan( ...@@ -1235,3 +1236,4 @@ opt_print_query_plan(
UT_LIST_GET_LEN(plan->end_conds)); UT_LIST_GET_LEN(plan->end_conds));
} }
} }
#endif /* UNIV_SQL_DEBUG */
...@@ -1348,7 +1348,9 @@ NetWare. */ ...@@ -1348,7 +1348,9 @@ NetWare. */
os_thread_create(&srv_master_thread, NULL, thread_ids + 1 + os_thread_create(&srv_master_thread, NULL, thread_ids + 1 +
SRV_MAX_N_IO_THREADS); SRV_MAX_N_IO_THREADS);
#ifdef UNIV_DEBUG
/* buf_debug_prints = TRUE; */ /* buf_debug_prints = TRUE; */
#endif /* UNIV_DEBUG */
sum_of_data_file_sizes = 0; sum_of_data_file_sizes = 0;
......
...@@ -157,6 +157,7 @@ rw_lock_free( ...@@ -157,6 +157,7 @@ rw_lock_free(
mutex_exit(&rw_lock_list_mutex); mutex_exit(&rw_lock_list_mutex);
} }
#ifdef UNIV_DEBUG
/********************************************************************** /**********************************************************************
Checks that the rw-lock has been initialized and that there are no Checks that the rw-lock has been initialized and that there are no
simultaneous shared and exclusive locks. */ simultaneous shared and exclusive locks. */
...@@ -184,6 +185,7 @@ rw_lock_validate( ...@@ -184,6 +185,7 @@ rw_lock_validate(
return(TRUE); return(TRUE);
} }
#endif /* UNIV_DEBUG */
/********************************************************************** /**********************************************************************
Lock an rw-lock in shared mode for the current thread. If the rw-lock is Lock an rw-lock in shared mode for the current thread. If the rw-lock is
......
...@@ -275,6 +275,7 @@ mutex_enter_nowait( ...@@ -275,6 +275,7 @@ mutex_enter_nowait(
return(1); return(1);
} }
#ifdef UNIV_DEBUG
/********************************************************************** /**********************************************************************
Checks that the mutex has been initialized. */ Checks that the mutex has been initialized. */
...@@ -288,6 +289,7 @@ mutex_validate( ...@@ -288,6 +289,7 @@ mutex_validate(
return(TRUE); return(TRUE);
} }
#endif /* UNIV_DEBUG */
/********************************************************************** /**********************************************************************
Sets the waiters field in a mutex. */ Sets the waiters field in a mutex. */
...@@ -1034,8 +1036,11 @@ sync_thread_add_level( ...@@ -1034,8 +1036,11 @@ sync_thread_add_level(
} else if (level == SYNC_DICT_HEADER) { } else if (level == SYNC_DICT_HEADER) {
ut_a(sync_thread_levels_g(array, SYNC_DICT_HEADER)); ut_a(sync_thread_levels_g(array, SYNC_DICT_HEADER));
} else if (level == SYNC_DICT) { } else if (level == SYNC_DICT) {
ut_a(buf_debug_prints ut_a(
|| sync_thread_levels_g(array, SYNC_DICT)); #ifdef UNIV_DEBUG
buf_debug_prints ||
#endif /* UNIV_DEBUG */
sync_thread_levels_g(array, SYNC_DICT));
} else { } else {
ut_error; ut_error;
} }
......
...@@ -1140,10 +1140,12 @@ trx_finish_rollback_off_kernel( ...@@ -1140,10 +1140,12 @@ trx_finish_rollback_off_kernel(
return; return;
} }
#ifdef UNIV_DEBUG
if (lock_print_waits) { if (lock_print_waits) {
fprintf(stderr, "Trx %lu rollback finished\n", fprintf(stderr, "Trx %lu rollback finished\n",
ut_dulint_get_low(trx->id)); ut_dulint_get_low(trx->id));
} }
#endif /* UNIV_DEBUG */
trx_commit_off_kernel(trx); trx_commit_off_kernel(trx);
......
...@@ -599,6 +599,7 @@ trx_sys_update_mysql_binlog_offset( ...@@ -599,6 +599,7 @@ trx_sys_update_mysql_binlog_offset(
MLOG_4BYTES, mtr); MLOG_4BYTES, mtr);
} }
#ifdef UNIV_HOTBACKUP
/********************************************************************* /*********************************************************************
Prints to stderr the MySQL binlog info in the system header if the Prints to stderr the MySQL binlog info in the system header if the
magic number shows it valid. */ magic number shows it valid. */
...@@ -626,6 +627,7 @@ trx_sys_print_mysql_binlog_offset_from_page( ...@@ -626,6 +627,7 @@ trx_sys_print_mysql_binlog_offset_from_page(
sys_header + TRX_SYS_MYSQL_LOG_INFO + TRX_SYS_MYSQL_LOG_NAME); sys_header + TRX_SYS_MYSQL_LOG_INFO + TRX_SYS_MYSQL_LOG_NAME);
} }
} }
#endif /* UNIV_HOTBACKUP */
/********************************************************************* /*********************************************************************
Prints to stderr the MySQL binlog offset info in the trx system header if Prints to stderr the MySQL binlog offset info in the trx system header if
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment