-
Vasil Dimov authored
+ Introduce a new option innodb_checksum_algorithm that may have the following values: * crc32 Write CRC32 to both checksum fields (calculated using CPU instructions if supported). When reading allow any of the valid checksums to match (flexible allowing old files to be read, but increases the possibility for announcing a corrupted page to be valid). Still if one of the two fields contains CRC32, the other one must contain CRC32 too. * strict_crc32 Write CRC32 to both checksum fields When reading allow only CRC32 to match (will announce old files as corrupted, but minimizes the possibility to announce a corrupted page as valid). * innodb Write InnoDB calculated (custom algorithm) checksum to both checksum fields (different algo is used for each field). When reading allow any of the valid checksums to match. * strict_innodb Write InnoDB calculated (custom algorithm) checksum to both checksum fields (different algo is used for each field). When reading allow only InnoDB algorithm to match. * none Write a constant magic number to both fields When reading do not do any checks on the checksum fields (same as setting innodb_checksums=OFF) * strict_none Write a constant magic number to both fields When reading allow only the constant magic number to match. + Deprecate innodb_checksums (use innodb_checksum_algorithm=NONE instead) + Remove copy-pasted InnoDB source from extra/innochecksum.c and link the innochecksum executable with libinnobase.a + For the above to work extract the functions innochecksum needs in a dedicated files + Add the Facebook contributed CRC32 implementation into ut0crc32.c
Vasil Dimov authored+ Introduce a new option innodb_checksum_algorithm that may have the following values: * crc32 Write CRC32 to both checksum fields (calculated using CPU instructions if supported). When reading allow any of the valid checksums to match (flexible allowing old files to be read, but increases the possibility for announcing a corrupted page to be valid). Still if one of the two fields contains CRC32, the other one must contain CRC32 too. * strict_crc32 Write CRC32 to both checksum fields When reading allow only CRC32 to match (will announce old files as corrupted, but minimizes the possibility to announce a corrupted page as valid). * innodb Write InnoDB calculated (custom algorithm) checksum to both checksum fields (different algo is used for each field). When reading allow any of the valid checksums to match. * strict_innodb Write InnoDB calculated (custom algorithm) checksum to both checksum fields (different algo is used for each field). When reading allow only InnoDB algorithm to match. * none Write a constant magic number to both fields When reading do not do any checks on the checksum fields (same as setting innodb_checksums=OFF) * strict_none Write a constant magic number to both fields When reading allow only the constant magic number to match. + Deprecate innodb_checksums (use innodb_checksum_algorithm=NONE instead) + Remove copy-pasted InnoDB source from extra/innochecksum.c and link the innochecksum executable with libinnobase.a + For the above to work extract the functions innochecksum needs in a dedicated files + Add the Facebook contributed CRC32 implementation into ut0crc32.c
Loading