Details
-
Task
-
Status: Closed (View Workflow)
-
Blocker
-
Resolution: Fixed
Description
The SQL parser defines the 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') is equal to crc32(crc32('Maria','DB')).
InnoDB files use a different polynomial, which is used by the special instructions that the Intel Nehalem microarchitecture introduced in SSE4.2. This is commonly called CRC-32C.
It would be very convenient to introduce an SQL function crc32c() that would compute CRC-32C checksums. Then we could could define simple SQL function that would generate a logically empty InnoDB redo log corresponding to a particular checkpoint LSN. Starting with MDEV-14425 and MDEV-27199, InnoDB would refuse normal startup if the redo log file was deleted.
Attachments
Issue Links
- causes
-
MCOL-4966 2-argument CRC32 call upon Columnstore table returns a wrong value
-
- Closed
-
-
MDEV-27482 2-argument CRC32 and CRC32C don't work in virtual column expressions
-
- Closed
-
- is part of
-
MDEV-27373 Q1 2022 release merge
-
- Closed
-
- relates to
-
MDEV-27480 Functions don't validate arguments properly and cast/truncate values without warnings or errors
-
- Stalled
-
-
MDEV-19935 Create unified CRC-32 interface
-
- Closed
-
-
MDEV-27199 Require ib_logfile0 to exist unless innodb_force_recovery=6
-
- Closed
-
Activity
Field | Original Value | New Value |
---|---|---|
Link |
This issue relates to |
Link |
This issue relates to |
Status | Open [ 1 ] | In Progress [ 3 ] |
Assignee | Marko Mäkelä [ marko ] | Sergei Golubchik [ serg ] |
Status | In Progress [ 3 ] | In Review [ 10002 ] |
Description |
The SQL parser defines the function {{crc32()}} that computes the CRC-32 of a string using the ISO 3309 polynomial that is being used by {{zlib}} and many others.
InnoDB files use a different polynomial, which is used by the special instructions that the Intel Nehalem microarchitecture introduced in SSE4.2. This is commonly called CRC-32C. It would be very convenient to introduce an SQL function {{crc32c()}} that would compute CRC-32C checksums. Then we could could define simple SQL function that would generate a logically empty InnoDB redo log corresponding to a particular checkpoint LSN. Starting with |
The SQL parser defines the 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')}} is equal to {{crc32('DB',crc32('Maria'))}}. InnoDB files use a different polynomial, which is used by the special instructions that the Intel Nehalem microarchitecture introduced in SSE4.2. This is commonly called CRC-32C. It would be very convenient to introduce an SQL function {{crc32c()}} that would compute CRC-32C checksums. Then we could could define simple SQL function that would generate a logically empty InnoDB redo log corresponding to a particular checkpoint LSN. Starting with |
Summary | Implement the CRC32C() function | Implement binary CRC32() and a the CRC32C() function |
Summary | Implement binary CRC32() and a the CRC32C() function | Implement 2-ary CRC32() and the CRC32C() function |
Priority | Major [ 3 ] | Critical [ 2 ] |
Assignee | Sergei Golubchik [ serg ] | Marko Mäkelä [ marko ] |
Status | In Review [ 10002 ] | Stalled [ 10000 ] |
Status | Stalled [ 10000 ] | In Testing [ 10301 ] |
Assignee | Marko Mäkelä [ marko ] |
Description |
The SQL parser defines the 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')}} is equal to {{crc32('DB',crc32('Maria'))}}. InnoDB files use a different polynomial, which is used by the special instructions that the Intel Nehalem microarchitecture introduced in SSE4.2. This is commonly called CRC-32C. It would be very convenient to introduce an SQL function {{crc32c()}} that would compute CRC-32C checksums. Then we could could define simple SQL function that would generate a logically empty InnoDB redo log corresponding to a particular checkpoint LSN. Starting with |
The SQL parser defines the 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')}} is equal to {{crc32(crc32('Maria','DB'))}}. InnoDB files use a different polynomial, which is used by the special instructions that the Intel Nehalem microarchitecture introduced in SSE4.2. This is commonly called CRC-32C. It would be very convenient to introduce an SQL function {{crc32c()}} that would compute CRC-32C checksums. Then we could could define simple SQL function that would generate a logically empty InnoDB redo log corresponding to a particular checkpoint LSN. Starting with |
Assignee | Elena Stepanova [ elenst ] |
Link | This issue causes MDEV-27480 [ MDEV-27480 ] |
Link |
This issue causes |
Link |
This issue causes |
Link | This issue relates to MDEV-27480 [ MDEV-27480 ] |
Link | This issue causes MDEV-27480 [ MDEV-27480 ] |
Assignee | Elena Stepanova [ elenst ] | Sergei Golubchik [ serg ] |
Status | In Testing [ 10301 ] | Stalled [ 10000 ] |
Priority | Critical [ 2 ] | Blocker [ 1 ] |
Assignee | Sergei Golubchik [ serg ] | Marko Mäkelä [ marko ] |
Link |
This issue is part of |
issue.field.resolutiondate | 2022-01-21 17:42:36.0 | 2022-01-21 17:42:36.011 |
Fix Version/s | 10.8.1 [ 26815 ] | |
Fix Version/s | 10.8 [ 26121 ] | |
Resolution | Fixed [ 1 ] | |
Status | Stalled [ 10000 ] | Closed [ 6 ] |
Please review bb-10.8-MDEV-27208.