[MDEV-32019] Replace my_casedn_str(local_buffer) to CharBuffer::copy_casedn() Created: 2023-08-26 Updated: 2023-09-12 Resolved: 2023-08-26 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Character Sets |
| Fix Version/s: | 11.3.0 |
| Type: | Task | Priority: | Major |
| Reporter: | Alexander Barkov | Assignee: | Alexander Barkov |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||||||||||
| Description |
|
Under terms of MDEV-31531 we're removing all my_casedn_str() calls, because MDEV-27490 will switch the Unicode version to 14.0.0, and this version does not support inplace lower-casing: some characters can grow in octet length when converting to lower case. This task is to remove my_casedn_str() calls which use a local char[] buffer, like this example in find_field_in_group_list():
Let's change code pieces like the above to this style:
where IdentBuffer is a CharBuffer descendant with the utf8 character set:
Note, this task won't touch other (without local char[] buffers) cases of my_casedn_str(), e.g. those using a MEM_ROOT allocated memory for the lower case data. Such calls will be removed separately, in the main patch MDEV-31531. |