summaryrefslogtreecommitdiff
path: root/mysql-test/mysql-test-run.pl
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2021-12-14 11:45:34 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2021-12-14 11:45:34 +0200
commitbc9f505f80633e537d5077534f4d8809c65c8162 (patch)
tree64b10a617bef8a4245cf81445339bb7d2d2e4e22 /mysql-test/mysql-test-run.pl
parentea9489536911b083c5e28b15c071cf6931247b7e (diff)
downloadmariadb-git-preview-10.8-MDEV-27208.tar.gz
MDEV-27208: Extend CRC32() and implement CRC32C()preview-10.8-MDEV-27208
We used to define a native unary function crc32() that computes the CRC-32 of a string using the ISO 3309 polynomial that is being used by zlib and many others. Often, CRC is computed in pieces. To faciliate this, we introduce an optional second parameter: CRC32('MariaDB')=CRC32('DB',CRC32('Maria')). InnoDB and MyRocks use a different polynomial, which was implemented in SSE4.2 instructions that were introduced in the Intel Nehalem microarchitecture. This is commonly called CRC-32C (Castagnoli). We introduce a native function that uses the Castagnoli polynomial: CRC32C('MariaDB')=CRC32C('DB',CRC32C('Maria')). This allows SELECT...INTO DUMPFILE to be used for the creation of files with valid checksums, such as a logically empty InnoDB redo log file ib_logfile0 corresponding to a particular log sequence number.
Diffstat (limited to 'mysql-test/mysql-test-run.pl')
0 files changed, 0 insertions, 0 deletions