• Marko Mäkelä's avatar
    Bug #57707 InnoDB buf_page_t size has doubled on 32-bit systems · 9c168f32
    Marko Mäkelä authored
    buf_page_t: Remove the buf_pool pointer. Add buf_pool_index:6 next to
    buf_fix_count:19 (it was buf_fix_count:25). This will limit the number
    of concurrent transactions to somewhere around 524,288.
    
    buf_pool_index(buf_pool): A new function to determine the index of a
    buffer pool in buf_pool_ptr[].
    
    buf_pool_ptr: Make this a dynamically allocated array instead of an
    array of pointers. Allocate the array in buf_pool_init() and free in
    buf_pool_free().
    
    buf_pool_free_instance(): No longer free the buf_pool object, as it is
    allocated from a big array.
    
    buf_pool_from_bpage(), buf_pool_from_block(): Move the definitions to
    the beginning of the files, because some compilers have (had) problems
    with forward definitions of inline functions. Calculate the buffer
    pool from buf_pool_index.
    
    buf_pool_from_array(): Add debug assertions for input validation.
    9c168f32
buf0buf.ic 31.5 KB