• marko's avatar
    branches/zip: In r988, the function buf_block_align() was enclosed · b707b2e3
    marko authored
    within UNIV_DEBUG. The two remaining callers in non-debug builds,
    btr_search_guess_on_hash() and btr_search_validate(), were rewritten
    to call buf_page_hash_get().
    
    To implement support for a resizeable buffer pool, the function
    buf_block_align() had been rewritten to perform a page hash lookup in
    the buffer pool. The caller was also made responsible for holding the
    buffer pool mutex.
    
    Because the page hash lookup is expensive and it has to be done while
    holding the buffer pool mutex, implement buf_block_align() by pointer
    arithmetics again, and make btr_search_guess_on_hash() call it. Note
    that this will have to be adjusted if the interface to the resizeable
    buffer pool is actually implemented.
    
    rb://83 approved by Heikki Tuuri, to address Issue #161.
    
    As a deviation from the approved patch, this patch also makes
    btr_search_validate() (invoked by CHECK TABLE) check that
    buf_pool->page_hash is consistent with buf_block_align().
    b707b2e3
btr0sea.c 45.3 KB