Details
-
Task
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
None
Description
Let's add MTR tests which will load the default weight table allkeys.txt from Unicode-4.0.0 and Unicode-5.2.0 to check that the collations utf8mb4_unicode_ci and utf8mb4_unicode_520_ci work as expected.
These new tests will cover all characters in the range U+0000..U+10FFFF and will make sure that nothing breaks after upcoming changes soon.
The idea is to calculate weights for every Unicode character into two ways:
1. Using WEIGHT_STRING() - this is the weight that the MariaDB collation returns for the character.
2. Parsing implicit weights from the corresponding line in allkeys.txt (or by calculating its implicit weight) - this is the weight that the collation is supposed to return according to the Unicode standard.
Both calculated values must produce equal results for every character.
If for some character the weights calculated in two weights are different, it means the collation works incorrectly.
The only exception character is "FDFA ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM". It has 18 weights in allkeys.txt, while MariaDB has a limit of 8 weights per character.
Attachments
Issue Links
- blocks
-
MDEV-27009 Add UCA-14.0.0 collations
- Closed
- relates to
-
MDEV-21263 Allow packed values of non-sorted fields in the sort buffer
- Closed
-
MDEV-27307 main.ctype_utf8mb4_uca_allkeys tests fail with Valgrind/MSAN
- Closed