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

Change the collation in INFORMATION_SCHEMA to utf8mb4_general1400_as_ci

    XMLWordPrintable

Details

    Description

      In order to prepare to MDEV-27490 let's change the collation in information_schema tables from utf8mb3_general_ci to utf8mb4_general1400_as_ci.

      Changing the collation to utf8mb4_general_ci won't work, because it compares all supplementary character as equal.

      So for example, I_S.COLUMNS will turn into:

      CREATE TEMPORARY TABLE `COLUMNS` (
        `TABLE_CATALOG` varchar(512) NOT NULL,
        `TABLE_SCHEMA` varchar(64) NOT NULL,
        `TABLE_NAME` varchar(64) NOT NULL,
        `COLUMN_NAME` varchar(64) NOT NULL,
        `ORDINAL_POSITION` bigint(21) unsigned NOT NULL,
      ...
      ) ENGINE=Aria DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general1400_as_ci PAGE_CHECKSUM=0;
      

      Metadata functions like:

      • DATABASE()
      • USER()
      • CURRENT_USER()
      • CURRENT_ROLE()
      • CHARSET()
      • COLLATION()
      • VERSION()

      will also change their collations to utf8mb4_general1400_as_ci

      So will string system variables.

      TODO:
      The code using Item_string_sys will possibly also be affected.

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:

                Git Integration

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