mirror of
https://github.com/MariaDB/server.git
synced 2025-01-30 18:41:56 +01:00
2fdb556e04
This patch changes the main name of 3 byte character set from utf8 to utf8mb3. New old_mode UTF8_IS_UTF8MB3 is added and set TRUE by default, so that utf8 would mean utf8mb3. If not set, utf8 would mean utf8mb4.
107 lines
3.7 KiB
Text
107 lines
3.7 KiB
Text
'#--------------------FN_DYNVARS_011_01-------------------------#'
|
||
SET @global_collation_database = @@global.collation_database;
|
||
SET @session_collation_database = @@session.collation_database;
|
||
SET @session_collation_server = @@session.collation_server;
|
||
SET @@global.collation_database = latin1_danish_ci;
|
||
connect con1,localhost,root,,,,;
|
||
connection con1;
|
||
SELECT @@global.collation_database;
|
||
@@global.collation_database
|
||
latin1_danish_ci
|
||
SELECT @@session.collation_database;
|
||
@@session.collation_database
|
||
latin1_swedish_ci
|
||
disconnect con1;
|
||
'#--------------------FN_DYNVARS_011_02-------------------------#'
|
||
connection default;
|
||
DROP TABLE IF EXISTS t1,t2;
|
||
'--check if setting collation_database update character_set_database--'
|
||
SET @@session.collation_database = utf8_spanish_ci;
|
||
SELECT @@collation_database, @@character_set_database;
|
||
@@collation_database @@character_set_database
|
||
utf8mb3_spanish_ci utf8mb3
|
||
'--check if collation_database effects database/tables charset/collation'
|
||
SET @@session.collation_server = utf8_roman_ci;
|
||
SET @@session.collation_database = latin2_croatian_ci;
|
||
CREATE DATABASE db1;
|
||
USE db1;
|
||
SHOW CREATE DATABASE db1;
|
||
Database Create Database
|
||
db1 CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET utf8mb3 COLLATE utf8mb3_roman_ci */
|
||
CREATE TABLE t1(a CHAR(20));
|
||
SHOW CREATE TABLE t1;
|
||
Table Create Table
|
||
t1 CREATE TABLE `t1` (
|
||
`a` char(20) COLLATE utf8mb3_roman_ci DEFAULT NULL
|
||
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_roman_ci
|
||
'---check if updating collation_database effects new table/column---'
|
||
SET @@session.collation_database = latin7_general_cs;
|
||
CREATE TABLE t2(a CHAR(10));
|
||
SHOW CREATE TABLE t2;
|
||
Table Create Table
|
||
t2 CREATE TABLE `t2` (
|
||
`a` char(10) COLLATE utf8mb3_roman_ci DEFAULT NULL
|
||
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_roman_ci
|
||
DROP TABLE t1,t2;
|
||
'--check value of collation and character set when current db is dropped'
|
||
DROP DATABASE db1;
|
||
SELECT @@collation_database,@@collation_server,@@character_set_database,@@character_set_server;
|
||
@@collation_database @@collation_server @@character_set_database @@character_set_server
|
||
utf8mb3_roman_ci utf8mb3_roman_ci utf8mb3 utf8mb3
|
||
USE test;
|
||
SELECT @@collation_database,@@collation_server,@@character_set_database,@@character_set_server;
|
||
@@collation_database @@collation_server @@character_set_database @@character_set_server
|
||
latin1_swedish_ci utf8mb3_roman_ci latin1 utf8mb3
|
||
'fill table with some test data';
|
||
CREATE TABLE t1(a CHAR(20))CHARACTER SET=latin1;
|
||
INSERT INTO t1 VALUES('Muffler'),('M<>ller'),('MX Systems');
|
||
'---check if collation_database effects results sort order---'
|
||
SET @@session.collation_database = latin1_swedish_ci;
|
||
SELECT * FROM t1 ORDER BY a;
|
||
a
|
||
Muffler
|
||
MX Systems
|
||
M<EFBFBD>ller
|
||
SET @@session.collation_database = latin1_german1_ci;
|
||
SELECT * FROM t1 ORDER BY a;
|
||
a
|
||
Muffler
|
||
MX Systems
|
||
M<EFBFBD>ller
|
||
'explicit Collate clause should effects results sort order';
|
||
SELECT * FROM t1 ORDER BY a COLLATE latin1_swedish_ci;
|
||
a
|
||
Muffler
|
||
MX Systems
|
||
M<EFBFBD>ller
|
||
SELECT * FROM t1 ORDER BY a COLLATE latin1_german1_ci;
|
||
a
|
||
Muffler
|
||
M<EFBFBD>ller
|
||
MX Systems
|
||
'----check if indexing is effected by collation_database---'
|
||
SET @@session.collation_database = latin1_swedish_ci;
|
||
ALTER TABLE t1 ADD PRIMARY KEY (a);
|
||
REPAIR TABLE t1;
|
||
Table Op Msg_type Msg_text
|
||
test.t1 repair status OK
|
||
SELECT * FROM t1 ORDER BY a;
|
||
a
|
||
Muffler
|
||
MX Systems
|
||
M<EFBFBD>ller
|
||
ALTER TABLE t1 DROP PRIMARY KEY;
|
||
SET @@session.collation_database = latin1_german1_ci;
|
||
ALTER TABLE t1 ADD PRIMARY KEY (a);
|
||
REPAIR TABLE t1;
|
||
Table Op Msg_type Msg_text
|
||
test.t1 repair status OK
|
||
SELECT * FROM t1 ORDER BY a;
|
||
a
|
||
Muffler
|
||
MX Systems
|
||
M<EFBFBD>ller
|
||
DROP TABLE t1;
|
||
SET @@global.collation_database = @global_collation_database;
|
||
SET @@session.collation_database = @session_collation_database;
|
||
SET @@session.collation_server = @session_collation_server;
|