Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-31531

Remove my_casedn_str() and my_caseup_str()

    XMLWordPrintable

Details

    Description

      We use my_casedn_str() to convert identifiers to cover case.
      This function uses the fact that utf8mb3_bin and utf8mb3_general_ci (used for identifiers internally) cannot increase string length, so it performs conversion in place.

      Under terms of MDEV-27490 we'll add support for non-BMP identifiers and upgrade casefolding information to Unicode version 14.0.0.

      In Unicode-14.0.0 conversion to lower case can increase binary length, so conversion cannot be done in place.

      Let's remove all use of my_casedn_str() and replace them to calls for a similar function CHARSET_INFO::casedn(), which has separate pointers to the source and the destination.

      For symmetry, let's also remove my_caseup_str() calls and replace them to calls for CHARSET_INFO::caseup().

      Attachments

        Issue Links

          Activity

            People

              bar Alexander Barkov
              bar Alexander Barkov
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.