mariadb/mysql-test/suite
Alexander Barkov 75f25e4ca7 MDEV-30164 System variable for default collations
This patch adds a way to override default collations
(or "character set collations") for desired character sets.

The SQL standard says:
> Each collation known in an SQL-environment is applicable to one
> or more character sets, and for each character set, one or more
> collations are applicable to it, one of which is associated with
> it as its character set collation.

In MariaDB, character set collations has been hard-coded so far,
e.g. utf8mb4_general_ci has been a hard-coded character set collation
for utf8mb4.

This patch allows to override (globally per server, or per session)
character set collations, so for example, uca1400_ai_ci can be set as a
character set collation for Unicode character sets
(instead of compiled xxx_general_ci).

The array of overridden character set collations is stored in a new
(session and global) system variable @@character_set_collations and
can be set as a comma separated list of charset=collation pairs, e.g.:

SET @@character_set_collations='utf8mb3=uca1400_ai_ci,utf8mb4=uca1400_ai_ci';

The variable is empty by default, which mean use the hard-coded
character set collations (e.g. utf8mb4_general_ci for utf8mb4).

The variable can also be set globally by passing to the server startup command
line, and/or in my.cnf.
2023-07-17 14:56:17 +04:00
..
archive Added test cases for preceding test 2023-02-03 00:00:35 +03:00
atomic
binlog MDEV-30164 System variable for default collations 2023-07-17 14:56:17 +04:00
binlog_encryption Merge 10.11 into 11.0 2023-04-27 15:11:18 +03:00
client
compat Change cost for REF to take into account cost for 1 extra key read_next 2023-02-10 12:58:50 +02:00
csv
encryption MDEV-26137 Improve import tablespace workflow. 2023-07-04 17:56:27 +10:00
engines Merge branch '11.0' into 11.1 2023-06-05 20:15:15 +02:00
events MDEV-29827 collateral cleanup 2023-07-02 12:15:11 +02:00
federated MDEV-30828 Prevent pushing down unions with incorrect ORDER BY 2023-06-30 12:36:47 +07:00
funcs_1 MDEV-28883 Re-design the upper level of handling UPDATE and DELETE statements 2023-03-15 17:35:22 -07:00
funcs_2
galera Merge 11.0 into 11.1 2023-06-08 14:09:21 +03:00
galera_3nodes Merge 10.9 into 10.10 2023-04-14 12:24:14 +03:00
galera_3nodes_sr Merge 10.5 into 10.6 2023-04-11 16:15:19 +03:00
galera_sr Merge branch '10.9' into 10.10 2023-05-03 14:09:13 +02:00
gcol Merge 10.11 into 11.0 2023-06-08 13:49:48 +03:00
handler Removed "<select expression> INTO <destination>" deprication. 2023-02-03 11:57:50 +03:00
heap Added test cases for preceding test 2023-02-03 00:00:35 +03:00
innodb MDEV-26137 Improve import tablespace workflow. 2023-07-04 17:56:27 +10:00
innodb_fts Merge branch '11.0' into 11.1 2023-06-05 20:15:15 +02:00
innodb_gis Merge branch '11.0' into 11.1 2023-06-05 20:15:15 +02:00
innodb_i_s Merge 10.5 into 10.6 2023-04-11 16:15:19 +03:00
innodb_zip Merge branch '11.0' into 11.1 2023-06-05 20:15:15 +02:00
jp
json MDEV-29390: Improve coverage for UPDATE and DELETE statements in MTR test suites 2023-03-15 17:35:22 -07:00
large_tests
maria MDEV-31356: Range cost calculations does not take into account join_buffer 2023-06-07 18:42:58 +03:00
mariabackup Merge branch '11.0' into 11.1 2023-06-05 20:15:15 +02:00
merge Merge 11.0 into 11.1 2023-06-08 14:09:21 +03:00
mtr/t Removed diff dates from rdiff files 2023-02-03 11:57:45 +03:00
mtr2
multi_source Merge 10.10 into 10.11 2023-02-16 11:41:18 +02:00
optimizer_unfixed_bugs MDEV-21921 Make transaction_isolation and transaction_read_only into system variables 2023-04-12 11:04:29 +10:00
parts Merge 10.11 into 11.0 2023-06-08 13:49:48 +03:00
perfschema Merge 11.0 into 11.1 2023-06-28 09:38:59 +03:00
perfschema_stress
period Merge branch '11.0' into 11.1 2023-06-05 20:15:15 +02:00
plugins MDEV-31530 Localizations for Swahili language 2023-07-04 13:02:49 +10:00
roles MDEV-29827 collateral cleanup 2023-07-02 12:15:11 +02:00
rpl MDEV-30164 System variable for default collations 2023-07-17 14:56:17 +04:00
s3
sql_sequence Merge 10.9 into 10.10 2023-07-04 08:18:30 +03:00
storage_engine
stress Revert test changes from "Fixed debug_sync timeout in deadlock_drop_table" 2023-02-03 16:27:16 +02:00
sys_vars MDEV-30164 System variable for default collations 2023-07-17 14:56:17 +04:00
sysschema MDEV-30812: Improve output cardinality estimates for hash join 2023-05-03 21:44:57 +03:00
unit
vcol Change cost for REF to take into account cost for 1 extra key read_next 2023-02-10 12:58:50 +02:00
versioning Merge branch '11.0' into 11.1 2023-06-05 20:15:15 +02:00
wsrep MDEV-30318: galera error messages in mariadb log without galera enabled 2023-02-15 17:46:26 +01:00