Details
-
Bug
-
Status: Closed (View Workflow)
-
Blocker
-
Resolution: Fixed
-
None
-
None
Description
The patch for MDEV-27009 changed the maximum collation name size from 32 to 64:
-#define MY_CS_NAME_SIZE 32
|
+#define MY_CS_CHARACTER_SET_NAME_SIZE 32
|
+#define MY_CS_COLLATION_NAME_SIZE 64
|
INFORMATION_SCHEMA tables were fixed accordinly. However, tables mysql.proc and mysql.event were forgotten:
SELECT table_schema, table_name, column_name, column_type |
FROM information_schema.columns WHERE column_name LIKE '%colla%'; |
+--------------------+---------------------------------------+------------------------+-------------+
|
| table_schema | table_name | column_name | column_type |
|
+--------------------+---------------------------------------+------------------------+-------------+
|
| mysql | proc | collation_connection | char(32) |
|
| mysql | proc | db_collation | char(32) |
|
| mysql | event | collation_connection | char(32) |
|
| mysql | event | db_collation | char(32) |
|
| information_schema | CHARACTER_SETS | DEFAULT_COLLATE_NAME | varchar(64) |
|
| information_schema | COLLATIONS | COLLATION_NAME | varchar(64) |
|
| information_schema | COLLATION_CHARACTER_SET_APPLICABILITY | COLLATION_NAME | varchar(64) |
|
| information_schema | COLLATION_CHARACTER_SET_APPLICABILITY | FULL_COLLATION_NAME | varchar(64) |
|
| information_schema | COLUMNS | COLLATION_NAME | varchar(64) |
|
| information_schema | EVENTS | COLLATION_CONNECTION | varchar(64) |
|
| information_schema | EVENTS | DATABASE_COLLATION | varchar(64) |
|
| information_schema | PARAMETERS | COLLATION_NAME | varchar(64) |
|
| information_schema | ROUTINES | COLLATION_NAME | varchar(64) |
|
| information_schema | ROUTINES | COLLATION_CONNECTION | varchar(64) |
|
| information_schema | ROUTINES | DATABASE_COLLATION | varchar(64) |
|
| information_schema | SCHEMATA | DEFAULT_COLLATION_NAME | varchar(64) |
|
| information_schema | STATISTICS | COLLATION | varchar(1) |
|
| information_schema | TABLES | TABLE_COLLATION | varchar(64) |
|
| information_schema | TRIGGERS | COLLATION_CONNECTION | varchar(64) |
|
| information_schema | TRIGGERS | DATABASE_COLLATION | varchar(64) |
|
| information_schema | VIEWS | COLLATION_CONNECTION | varchar(64) |
|
+--------------------+---------------------------------------+------------------------+-------------+
|
Some new collation names do not fit into 32 characters:
SET NAMES 'utf8mb3' COLLATE 'utf8mb3_uca1400_swedish_nopad_ai_ci'; |
CREATE FUNCTION f1() RETURNS INT RETURN 1; |
ERROR 1607 (HY000): Cannot create stored routine `f1`. Check warnings
|
SHOW WARNINGS;
|
+---------+------+--------------------------------------------------------------+
|
| Level | Code | Message |
|
+---------+------+--------------------------------------------------------------+
|
| Warning | 1265 | Data truncated for column 'collation_connection' at row 3226 |
|
| Error | 1607 | Cannot create stored routine `f1`. Check warnings |
|
+---------+------+--------------------------------------------------------------+
|
Definitions for mysql.proc and mysql.event should be updated to use char(64) as the data type for the mentioned columns.
Attachments
Issue Links
- is caused by
-
MDEV-27009 Add UCA-14.0.0 collations
- Closed
- relates to
-
MDEV-29763 ER_EVENT_STORE_FAILED upon creating event under some uca140_xxx_nopad_xx_xx collations
- Open