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

Change SHOW CREATE TABLE to display default collations

Details

    Description

      Currently MariaDB reduces SHOW CREATE TABLE output: COLLATE clause is not displayed if the collation is default for its character set.

      CREATE OR REPLACE TABLE t1 (
        a VARCHAR(10),
        b VARCHAR(10) CHARACTER SET ucs2
      ) CHARACTER SET utf8mb4;
      SHOW CREATE TABLE t1;
      

      +-------+-----------------------------------------------------------------------------------------------------------------------------------------------+
      | Table | Create Table                                                                                                                                  |
      +-------+-----------------------------------------------------------------------------------------------------------------------------------------------+
      | t1    | CREATE TABLE `t1` (
        `a` varchar(10) DEFAULT NULL,
        `b` varchar(10) CHARACTER SET ucs2 DEFAULT NULL
      ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 |
      +-------+-----------------------------------------------------------------------------------------------------------------------------------------------+
      

      Notice:

      • the definition of the column `b` does not have a COLLATE clause, because it's collation is ucs2_general_ci, which is default for the character set ucs2.
      • the table option does not have a COLLATE clause, because it's collation is utf8mb4_general_ci, which is default for the chracter set utf8mb4.

      Under terms of MDEV-19123, we're going to change the default collation for Unicode charcter sets to uca1400_ai_ci.
      This will break dump-restore:

      mariadb-dump | mariadb
      

      e.g. utf8mb4_general_ci will be erroneously replaced to uca1400_ai_ci.

      To avoid this, SHOW CREATE TABLE should always diplay collations after CHARACTER SET clause, even default ones.

      Attachments

        Issue Links

          Activity

            Transition Time In Source Status Execution Times
            Alexander Barkov made transition -
            Open In Progress
            2d 22h 6m 1
            Alexander Barkov made transition -
            In Progress In Review
            1m 27s 1
            Sergei Golubchik made transition -
            In Review Stalled
            4d 4h 29m 1
            Marko Mäkelä made transition -
            Stalled Closed
            11d 19h 55m 1
            Alexander Barkov made transition -
            Closed Stalled
            23h 16m 1
            Alexander Barkov made transition -
            Stalled In Progress
            1h 12m 1
            Alexander Barkov made transition -
            In Progress Closed
            7s 1

            People

              bar Alexander Barkov
              bar Alexander Barkov
              Votes:
              0 Vote for this issue
              Watchers:
              3 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.