diff --git a/ChangeLog b/ChangeLog index 334c8b5a8cc98127bb28e6bf39c3ccc3c31f4c58..d5748c825b61acbe624be350948cda2a48840d7f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2010-01-13 The InnoDB Team + + * buf/buf0buf.c: + When disabling the adaptive hash index, check the block state + before checking block->is_hashed, because the latter may be + uninitialized right after server startup. + 2010-01-12 The InnoDB Team * handler/ha_innodb.cc, handler/ha_innodb.h: diff --git a/buf/buf0buf.c b/buf/buf0buf.c index 111d396fbc5e367fd18c0d837b55e4bc6fb2fda5..549d1a31942fd060b8e691052d4829591f2a26ce 100644 --- a/buf/buf0buf.c +++ b/buf/buf0buf.c @@ -1058,7 +1058,9 @@ buf_pool_drop_hash_index(void) when we have an x-latch on btr_search_latch; see the comment in buf0buf.h */ - if (!block->is_hashed) { + if (buf_block_get_state(block) + != BUF_BLOCK_FILE_PAGE + || !block->is_hashed) { continue; }