Skip to content
  • Gleb Shchepa's avatar
    7fd10da9
    Bug#27389878: COMPATIBILITY OPTION TO CONTROL DEFAULT COLLATION FOR UTF8MB4 · 7fd10da9
    Gleb Shchepa authored
    This patch:
    
    1. Introduces a new system variable default_collation_for_utf8mb4 with two
       possible values: utf8_general_ci and utf8mb4_0900_ai_ci.
       The value of the new variable is used as a default implicit collation
       values if the character set is utf8mb4 in:
    
       * SET NAMES utf8mb4
    
       * _utf8mb4 '...', _utf8mb4 x... and _utf8mb4 b... literals
    
       * CREATE/ALTER SCHEMA/DATABASE ... CHARACTER SET utf8mb4
    
       * CREATE/ALTER TABLE ... DEFAULT CHARACTER SET utf8mb4
    
       * ALTER TABLE ... /CONVERT TO CHARACTER SET utf8mb4
    
       * table column definitions in CREATE/ALTER TABLE
    
       * SP/SF/trigger/event parameter, local variable and return value declarations
    
       * SHOW COLLATION and SHOW CHARACTER SET output
    
    2. Removes undocumented use cases of the DEFAULT keyword in:
    
       * CREATE/ALTER TABLE/DATABASE ... [DEFAULT] COLLATE DEFAULT
    
       * CREATE/ALTER TABLE/DATABASE ... [DEFAULT] CHARACTER SET DEFAULT
    
       * ALTER TABLE ... CONVERT TO CHARACTER SET DEFAULT
    
       * ALTER TABLE ... CONVERT TO ... COLLATE DEFAULT
    
       * LOAD DATA ... CHARACTER SET DEFAULT
    
       * CREATE FUNCTION(<name> <type> COLLATE DEFAULT)
    
       * CREATE PROCEDURE(<name> <type> COLLATE DEFAULT)
    
       * DECLARE ... COLLATE DEFAULT
    
       * CREATE FUNCTION ... RETURNS ... COLLATE DEFAULT
    
       * SET NAMES ... COLLATE DEFAULT
    
       * SET NAMES DEFAULT COLLATE ...
    7fd10da9
    Bug#27389878: COMPATIBILITY OPTION TO CONTROL DEFAULT COLLATION FOR UTF8MB4
    Gleb Shchepa authored
    This patch:
    
    1. Introduces a new system variable default_collation_for_utf8mb4 with two
       possible values: utf8_general_ci and utf8mb4_0900_ai_ci.
       The value of the new variable is used as a default implicit collation
       values if the character set is utf8mb4 in:
    
       * SET NAMES utf8mb4
    
       * _utf8mb4 '...', _utf8mb4 x... and _utf8mb4 b... literals
    
       * CREATE/ALTER SCHEMA/DATABASE ... CHARACTER SET utf8mb4
    
       * CREATE/ALTER TABLE ... DEFAULT CHARACTER SET utf8mb4
    
       * ALTER TABLE ... /CONVERT TO CHARACTER SET utf8mb4
    
       * table column definitions in CREATE/ALTER TABLE
    
       * SP/SF/trigger/event parameter, local variable and return value declarations
    
       * SHOW COLLATION and SHOW CHARACTER SET output
    
    2. Removes undocumented use cases of the DEFAULT keyword in:
    
       * CREATE/ALTER TABLE/DATABASE ... [DEFAULT] COLLATE DEFAULT
    
       * CREATE/ALTER TABLE/DATABASE ... [DEFAULT] CHARACTER SET DEFAULT
    
       * ALTER TABLE ... CONVERT TO CHARACTER SET DEFAULT
    
       * ALTER TABLE ... CONVERT TO ... COLLATE DEFAULT
    
       * LOAD DATA ... CHARACTER SET DEFAULT
    
       * CREATE FUNCTION(<name> <type> COLLATE DEFAULT)
    
       * CREATE PROCEDURE(<name> <type> COLLATE DEFAULT)
    
       * DECLARE ... COLLATE DEFAULT
    
       * CREATE FUNCTION ... RETURNS ... COLLATE DEFAULT
    
       * SET NAMES ... COLLATE DEFAULT
    
       * SET NAMES DEFAULT COLLATE ...
Loading