[MDEV-32081] Remove my_casedn_str() from get_canonical_filename() Created: 2023-09-04  Updated: 2023-09-12  Resolved: 2023-09-04

Status: Closed
Project: MariaDB Server
Component/s: Character Sets
Fix Version/s: 11.3.0

Type: Task Priority: Critical
Reporter: Alexander Barkov Assignee: Alexander Barkov
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Blocks
blocks MDEV-27490 Allow full utf8mb4 for identifiers Stalled
blocks MDEV-31531 Remove my_casedn_str() and my_caseup_... In Testing
blocks MDEV-31606 Refactor check_db_name() to get a con... Closed

 Description   

Remove my_casedn_str() from get_canonical_filename()

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 in get_canonical_filename().

Let's change the code to use CharBuffer so instead of

  • Copy from the source to the destination
  • Convert the destination to lower-case inplace
    the new code will use
  • Copy from the source to the destination with lower-case conversion

Generated at Thu Feb 08 10:28:41 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.