• Marko Mäkelä's avatar
    MDEV-21171 InnoDB is unnecessarily resetting FIL_PAGE_TYPE for full_crc32 files · 4beace33
    Marko Mäkelä authored
    Before commit c0f47a4a (MDEV-12026)
    introduced the innodb_checksum_algorithm=full_crc32 format,
    it was impossible to tell if InnoDB data files contained garbage in
    the FIL_PAGE_TYPE header field (and possibly other fields).
    This is because before commit 3926673c
    in MySQL 5.1.48, InnoDB would write uninitialized data to some fields,
    and because there was no way to tell with which InnoDB version a data
    file was created.
    
    If fil_space_t::full_crc32() holds, the data file cannot contain
    uninitialized garbage or invalid FIL_PAGE_TYPE, and thus
    fil_block_check_type() should not be invoked to correct anything.
    4beace33
fsp0fsp.cc 93.8 KB