• unknown's avatar
    Bug#22119 - Changing MI_KEY_BLOCK_LENGTH makes a wrong myisamchk · b5d19148
    unknown authored
    When compiling with a default key block size greater than the
    smallest key block size used in a table, checking that table
    failed with bogus errors. The table was marked corrupt. This
    affected myisamchk and the server.
    
    The problem was that the default key block size was used at
    some places where sizes less or equal to the block size of the
    index in check was required.
    
    We do now use the key block size of the particular index
    when checking.
    
    A test case is available for later versions only.
    
    
    myisam/mi_check.c:
      Bug#22119 - Changing MI_KEY_BLOCK_LENGTH makes a wrong myisamchk
      Changed check_k_link() and chk_index_down() to use the block
      size of the index in check or MI_MIN_KEY_BLOCK_LENGTH where
      required. Formerly myisam_block_size or MYISAM_SHARE::blocksize
      was used wrongly.
    b5d19148
mi_check.c 145 KB