Commit d4cd3852 authored by heikki@hundin.mysql.fi's avatar heikki@hundin.mysql.fi
Browse files

btr0btr.c, buf0buf.c:

  Fix a glitch: under heavy ibuf activity InnoDB could print the whole contents of ibuf tree to the error log
parent b31f909d
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -2310,6 +2310,14 @@ btr_index_rec_validate(
	ulint	i;
	char	err_buf[1000];
	
	if (index->type & DICT_UNIVERSAL) {
	        /* The insert buffer index tree can contain records from any
	        other index: we cannot check the number of fields or
	        their length */

	        return(TRUE);
	}

	n = dict_index_get_n_fields(index);

	if (rec_get_n_fields(rec) != n) {
+5 −5
Original line number Diff line number Diff line
@@ -1358,11 +1358,6 @@ buf_page_create(

	free_block = buf_LRU_get_free_block();
	
	/* Delete possible entries for the page from the insert buffer:
	such can exist if the page belonged to an index which was dropped */

	ibuf_merge_or_delete_for_page(NULL, space, offset);	
	
	mutex_enter(&(buf_pool->mutex));

	block = buf_page_hash_get(space, offset);
@@ -1410,6 +1405,11 @@ buf_page_create(

	mutex_exit(&(buf_pool->mutex));

	/* Delete possible entries for the page from the insert buffer:
	such can exist if the page belonged to an index which was dropped */

	ibuf_merge_or_delete_for_page(NULL, space, offset);	

	/* Flush pages from the end of the LRU list if necessary */
	buf_flush_free_margin();