1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

MDEV-25829 Change default Unicode collation to uca1400_ai_ci

Step#1 - Changing collation derivation for string user variables
from IMPLICIT to COERCIBLE.

Retionale:

Without this preparatory change, switching the default collation for
Unicode character sets from xxx_general_ci to uca1400_ai_ci would cause
"Illegal mix of collations" errors in scenarios comparing a column with
a non-default collation to a string user variable

This is especially important for queries to INFORMATION_SCHEMA tables,
whose columns use utf8mb3_general_ci.

See the description of MDEV-25829 for more details and SQL script examples.
This commit is contained in:
Alexander Barkov
2023-11-15 06:09:41 +04:00
parent 44974a0788
commit 1b65cc9da7
5 changed files with 33 additions and 16 deletions

View File

@ -774,10 +774,10 @@ Warning 1916 Got overflow when converting '-19999999999999999999' to INT. Value
GET DIAGNOSTICS CONDITION 1 @var1 = MESSAGE_TEXT, @var2 = CLASS_ORIGIN;
SELECT CHARSET(@var1), COLLATION(@var1), COERCIBILITY(@var1);
CHARSET(@var1) COLLATION(@var1) COERCIBILITY(@var1)
utf8mb3 utf8mb3_general_ci 2
utf8mb3 utf8mb3_general_ci 4
SELECT CHARSET(@var2), COLLATION(@var2), COERCIBILITY(@var2);
CHARSET(@var2) COLLATION(@var2) COERCIBILITY(@var2)
utf8mb3 utf8mb3_general_ci 2
utf8mb3 utf8mb3_general_ci 4
#
# Command statistics
#