Commit aea3c071 authored by heikki@donna.mysql.fi's avatar heikki@donna.mysql.fi
Browse files

Many files:

  Small improvements
row0mysql.c:
  Small improvements + fix the ALTER TABLE problem by introducing a lazy drop table it can use
ha_innobase.cc:
  Some fine-tuning of optimization
parent 9c86441e
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -242,7 +242,6 @@ buf_LRU_get_free_block(void)
	if (n_iterations > 30) {
		ut_print_timestamp(stderr);
		fprintf(stderr,
		" ***********************************************\n"
		"InnoDB: Warning: difficult to find free blocks from\n"
		"InnoDB: the buffer pool (%lu search iterations)! Consider\n"
		"InnoDB: increasing the buffer pool size.\n",
+9 −1
Original line number Diff line number Diff line
@@ -1088,7 +1088,15 @@ fil_io(
	node = UT_LIST_GET_FIRST(space->chain);

	for (;;) {
		ut_a(node);
		if (node == NULL) {
			fprintf(stderr,
	"InnoDB: Error: trying to access page number %lu in space %lu\n"
	"InnoDB: which is outside the tablespace bounds.\n"
	"InnoDB: Byte offset %lu, len %lu, i/o type %lu\n", 
 			block_offset, space_id, byte_offset, len, type);
 			
			ut_a(0);
		}

		if (node->size > block_offset) {
			/* Found! */
+1 −0
Original line number Diff line number Diff line
@@ -258,6 +258,7 @@ struct recv_sys_struct{
extern recv_sys_t*	recv_sys;
extern ibool		recv_recovery_on;
extern ibool		recv_no_ibuf_operations;
extern ibool		recv_needed_recovery;

/* States of recv_addr_struct */
#define RECV_NOT_PROCESSED	71
+16 −3
Original line number Diff line number Diff line
@@ -269,13 +269,24 @@ mem_realloc(
	ulint   n,	/* in: desired number of bytes */
	char*  	file_name,/* in: file name where called */
	ulint 	line);  /* in: line where called */
#ifdef MEM_PERIODIC_CHECK
/**********************************************************************
Goes through the list of all allocated mem blocks, checks their magic
numbers, and reports possible corruption. */

void
mem_validate_all_blocks(void);
/*=========================*/
#endif

/*#######################################################################*/
	
/* The info header of a block in a memory heap */

struct mem_block_info_struct {
	ulint   magic_n;/* magic number for debugging */
	char	file_name[8];/* file name where the mem heap was created */
	ulint	line;	/* line number where the mem heap was created */
	UT_LIST_BASE_NODE_T(mem_block_t) base; /* In the first block in the
			the list this is the base node of the list of blocks;
			in subsequent blocks this is undefined */
@@ -299,9 +310,11 @@ struct mem_block_info_struct {
			allocated buffer frame, which can be appended as a
			free block to the heap, if we need more space;
			otherwise, this is NULL */
	ulint   magic_n;/* magic number for debugging */
	char	file_name[8];/* file name where the mem heap was created */
	ulint	line;	/* line number where the mem heap was created */
#ifdef MEM_PERIODIC_CHECK	
	UT_LIST_NODE_T(mem_block_t) mem_block_list;
			/* List of all mem blocks allocated; protected
			by the mem_comm_pool mutex */
#endif
};

#define MEM_BLOCK_MAGIC_N	764741555
+12 −0
Original line number Diff line number Diff line
@@ -72,6 +72,18 @@ mem_pool_get_reserved(
				/* out: reserved mmeory in bytes */
	mem_pool_t*	pool);	/* in: memory pool */
/************************************************************************
Reserves the mem pool mutex. */

void
mem_pool_mutex_enter(void);
/*======================*/
/************************************************************************
Releases the mem pool mutex. */

void
mem_pool_mutex_exit(void);
/*=====================*/
/************************************************************************
Validates a memory pool. */

ibool
Loading