HEX
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.2.34
System: Linux atalantini.com 3.10.0-1127.13.1.el7.x86_64 #1 SMP Tue Jun 23 15:46:38 UTC 2020 x86_64
User: root (0)
PHP: 7.2.34
Disabled: NONE
Upload Files
File: //usr/share/mysql-test/r/ctype_ldml.result
drop table if exists t1;
In the following tests we change the order of letter "b"
making it equal to letter "a", and check that it works
with all Unicode character sets
set names utf8;
show variables like 'character_sets_dir%';
Variable_name	Value
character_sets_dir	MYSQL_TEST_DIR/std_data/
show collation like 'utf8_phone_ci';
Collation	Charset	Id	Default	Compiled	Sortlen
utf8_phone_ci	utf8	352			8
CREATE TABLE t1 (
name VARCHAR(64),
phone VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_phone_ci
);
INSERT INTO t1 VALUES ('Svoj','+7 912 800 80 02');
INSERT INTO t1 VALUES ('Hf','+7 (912) 800 80 04');
INSERT INTO t1 VALUES ('Bar','+7-912-800-80-01');
INSERT INTO t1 VALUES ('Ramil','(7912) 800 80 03');
INSERT INTO t1 VALUES ('Sanja','+380 (912) 8008005');
SELECT * FROM t1 ORDER BY phone;
name	phone
Sanja	+380 (912) 8008005
Bar	+7-912-800-80-01
Svoj	+7 912 800 80 02
Ramil	(7912) 800 80 03
Hf	+7 (912) 800 80 04
SELECT * FROM t1 WHERE phone='+7(912)800-80-01';
name	phone
Bar	+7-912-800-80-01
SELECT * FROM t1 WHERE phone='79128008001';
name	phone
Bar	+7-912-800-80-01
SELECT * FROM t1 WHERE phone='7 9 1 2 8 0 0 8 0 0 1';
name	phone
Bar	+7-912-800-80-01
DROP TABLE t1;
show collation like 'utf8_test_ci';
Collation	Charset	Id	Default	Compiled	Sortlen
utf8_test_ci	utf8	353			8
create table t1 (c1 char(1) character set utf8 collate utf8_test_ci);
insert into t1 values ('a');
select * from t1 where c1='b';
c1
a
drop table t1;
show collation like 'ucs2_test_ci';
Collation	Charset	Id	Default	Compiled	Sortlen
ucs2_test_ci	ucs2	358			8
create table t1 (c1 char(1) character set ucs2 collate ucs2_test_ci);
insert into t1 values ('a');
select * from t1 where c1='b';
c1
a
drop table t1;
show collation like 'utf8mb4_test_ci';
Collation	Charset	Id	Default	Compiled	Sortlen
utf8mb4_test_ci	utf8mb4	326			8
create table t1 (c1 char(1) character set utf8mb4 collate utf8mb4_test_ci);
insert into t1 values ('a');
select * from t1 where c1='b';
c1
a
drop table t1;
show collation like 'utf16_test_ci';
Collation	Charset	Id	Default	Compiled	Sortlen
utf16_test_ci	utf16	327			8
create table t1 (c1 char(1) character set utf16 collate utf16_test_ci);
insert into t1 values ('a');
select * from t1 where c1='b';
c1
a
drop table t1;
show collation like 'utf32_test_ci';
Collation	Charset	Id	Default	Compiled	Sortlen
utf32_test_ci	utf32	391			8
create table t1 (c1 char(1) character set utf32 collate utf32_test_ci);
insert into t1 values ('a');
select * from t1 where c1='b';
c1
a
drop table t1;
CREATE TABLE t1 (
col1 varchar(100) character set utf8 collate utf8_test_ci
);
INSERT INTO t1 (col1) VALUES ('abcd'),('efgh'),('ijkl');
ALTER TABLE t1 ADD FULLTEXT INDEX (col1);
SELECT * FROM t1 where match (col1) against ('abcd');
col1
abcd
SELECT * FROM t1 where match (col1) against ('abcd' IN BOOLEAN MODE);
col1
abcd
ALTER TABLE t1 ADD (col2 varchar(100) character set latin1);
UPDATE t1 SET col2=col1;
SELECT * FROM t1 WHERE col1=col2 ORDER BY col1;
col1	col2
abcd	abcd
efgh	efgh
ijkl	ijkl
DROP TABLE t1;
#
# Bug#45645 Mysql server close all connection and restart using lower function
#
CREATE TABLE t1 (a VARCHAR(10)) CHARACTER SET utf8 COLLATE utf8_test_ci;
INSERT INTO t1 (a) VALUES ('hello!');
SELECT * FROM t1 WHERE LOWER(a)=LOWER('N');
a
DROP TABLE t1;
#
# Bug#51976 LDML collations issue (cyrillic example)
#
CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET utf8 COLLATE utf8_test_ci);
INSERT INTO t1 (a) VALUES ('Hello');
SELECT a, UPPER(a), LOWER(a) FROM t1;
a	UPPER(a)	LOWER(a)
Hello	HELLO	hello
DROP TABLE t1;
#
# Bug#43827 Server closes connections and restarts
#
CREATE TABLE t1 (c1 VARCHAR(10) CHARACTER SET utf8 COLLATE utf8_test_ci);
INSERT INTO t1 SELECT REPEAT('a',11);
Warnings:
Warning	1265	Data truncated for column 'c1' at row 1
DROP TABLE t1;
Vietnamese experimental collation
show collation like 'ucs2_vn_ci';
Collation	Charset	Id	Default	Compiled	Sortlen
ucs2_vn_ci	ucs2	359			8
create table t1 (c1 char(1) character set ucs2 collate ucs2_vn_ci);
insert into t1 values (0x0061),(0x0041),(0x00E0),(0x00C0),(0x1EA3),(0x1EA2),
(0x00E3),(0x00C3),(0x00E1),(0x00C1),(0x1EA1),(0x1EA0);
insert into t1 values (0x0103),(0x0102),(0x1EB1),(0x1EB0),(0x1EB3),(0x1EB2),
(0x1EB5),(0x1EB4),(0x1EAF),(0x1EAE),(0x1EB7),(0x1EB6);
insert into t1 values (0x00E2),(0x00C2),(0x1EA7),(0x1EA6),(0x1EA9),(0x1EA8),
(0x1EAB),(0x1EAA),(0x1EA5),(0x1EA4),(0x1EAD),(0x1EAC);
insert into t1 values ('b'),('B'),('c'),('C');
insert into t1 values ('d'),('D'),(0x0111),(0x0110);
insert into t1 values (0x0065),(0x0045),(0x00E8),(0x00C8),(0x1EBB),(0x1EBA),
(0x1EBD),(0x1EBC),(0x00E9),(0x00C9),(0x1EB9),(0x1EB8);
insert into t1 values (0x00EA),(0x00CA),(0x1EC1),(0x1EC0),(0x1EC3),(0x1EC2),
(0x1EC5),(0x1EC4),(0x1EBF),(0x1EBE),(0x1EC7),(0x1EC6);
insert into t1 values ('g'),('G'),('h'),('H');
insert into t1 values (0x0069),(0x0049),(0x00EC),(0x00CC),(0x1EC9),(0x1EC8),
(0x0129),(0x0128),(0x00ED),(0x00CD),(0x1ECB),(0x1ECA);
insert into t1 values ('k'),('K'),('l'),('L'),('m'),('M');
insert into t1 values (0x006F),(0x004F),(0x00F2),(0x00D2),(0x1ECF),(0x1ECE),
(0x00F5),(0x00D5),(0x00F3),(0x00D3),(0x1ECD),(0x1ECC);
insert into t1 values (0x00F4),(0x00D4),(0x1ED3),(0x1ED2),(0x1ED5),(0x1ED4),
(0x1ED7),(0x1ED6),(0x1ED1),(0x1ED0),(0x1ED9),(0x1ED8);
insert into t1 values (0x01A1),(0x01A0),(0x1EDD),(0x1EDC),(0x1EDF),(0x1EDE),
(0x1EE1),(0x1EE0),(0x1EDB),(0x1EDA),(0x1EE3),(0x1EE2);
insert into t1 values ('p'),('P'),('q'),('Q'),('r'),('R'),('s'),('S'),('t'),('T');
insert into t1 values (0x0075),(0x0055),(0x00F9),(0x00D9),(0x1EE7),(0x1EE6),
(0x0169),(0x0168),(0x00FA),(0x00DA),(0x1EE5),(0x1EE4);
insert into t1 values (0x01B0),(0x01AF),(0x1EEB),(0x1EEA),(0x1EED),(0x1EEC),
(0x1EEF),(0x1EEE),(0x1EE9),(0x1EE8),(0x1EF1),(0x1EF0);
insert into t1 values ('v'),('V'),('x'),('X');
insert into t1 values (0x0079),(0x0059),(0x1EF3),(0x1EF2),(0x1EF7),(0x1EF6),
(0x1EF9),(0x1EF8),(0x00FD),(0x00DD),(0x1EF5),(0x1EF4);
select hex(c1) as h, c1 from t1 order by c1, h;
h	c1
0041	A
0061	a
00C0	À
00C1	Á
00C3	Ã
00E0	à
00E1	á
00E3	ã
1EA0	Ạ
1EA1	ạ
1EA2	Ả
1EA3	ả
0102	Ă
0103	ă
1EAE	Ắ
1EAF	ắ
1EB0	Ằ
1EB1	ằ
1EB2	Ẳ
1EB3	ẳ
1EB4	Ẵ
1EB5	ẵ
1EB6	Ặ
1EB7	ặ
00C2	Â
00E2	â
1EA4	Ấ
1EA5	ấ
1EA6	Ầ
1EA7	ầ
1EA8	Ẩ
1EA9	ẩ
1EAA	Ẫ
1EAB	ẫ
1EAC	Ậ
1EAD	ậ
0042	B
0062	b
0043	C
0063	c
0044	D
0064	d
0110	Đ
0111	đ
0045	E
0065	e
00C8	È
00C9	É
00E8	è
00E9	é
1EB8	Ẹ
1EB9	ẹ
1EBA	Ẻ
1EBB	ẻ
1EBC	Ẽ
1EBD	ẽ
00CA	Ê
00EA	ê
1EBE	Ế
1EBF	ế
1EC0	Ề
1EC1	ề
1EC2	Ể
1EC3	ể
1EC4	Ễ
1EC5	ễ
1EC6	Ệ
1EC7	ệ
0047	G
0067	g
0048	H
0068	h
0049	I
0069	i
00CC	Ì
00CD	Í
00EC	ì
00ED	í
0128	Ĩ
0129	ĩ
1EC8	Ỉ
1EC9	ỉ
1ECA	Ị
1ECB	ị
004B	K
006B	k
004C	L
006C	l
004D	M
006D	m
004F	O
006F	o
00D2	Ò
00D3	Ó
00D5	Õ
00F2	ò
00F3	ó
00F5	õ
1ECC	Ọ
1ECD	ọ
1ECE	Ỏ
1ECF	ỏ
00D4	Ô
00F4	ô
1ED0	Ố
1ED1	ố
1ED2	Ồ
1ED3	ồ
1ED4	Ổ
1ED5	ổ
1ED6	Ỗ
1ED7	ỗ
1ED8	Ộ
1ED9	ộ
01A0	Ơ
01A1	ơ
1EDA	Ớ
1EDB	ớ
1EDC	Ờ
1EDD	ờ
1EDE	Ở
1EDF	ở
1EE0	Ỡ
1EE1	ỡ
1EE2	Ợ
1EE3	ợ
0050	P
0070	p
0051	Q
0071	q
0052	R
0072	r
0053	S
0073	s
0054	T
0074	t
0055	U
0075	u
00D9	Ù
00DA	Ú
00F9	ù
00FA	ú
0168	Ũ
0169	ũ
1EE4	Ụ
1EE5	ụ
1EE6	Ủ
1EE7	ủ
01AF	Ư
01B0	ư
1EE8	Ứ
1EE9	ứ
1EEA	Ừ
1EEB	ừ
1EEC	Ử
1EED	ử
1EEE	Ữ
1EEF	ữ
1EF0	Ự
1EF1	ự
0056	V
0076	v
0058	X
0078	x
0059	Y
0079	y
00DD	Ý
00FD	ý
1EF2	Ỳ
1EF3	ỳ
1EF4	Ỵ
1EF5	ỵ
1EF6	Ỷ
1EF7	ỷ
1EF8	Ỹ
1EF9	ỹ
select group_concat(hex(c1) order by hex(c1)) from t1 group by c1;
group_concat(hex(c1) order by hex(c1))
0041,0061,00C0,00C1,00C3,00E0,00E1,00E3,1EA0,1EA1,1EA2,1EA3
0102,0103,1EAE,1EAF,1EB0,1EB1,1EB2,1EB3,1EB4,1EB5,1EB6,1EB7
00C2,00E2,1EA4,1EA5,1EA6,1EA7,1EA8,1EA9,1EAA,1EAB,1EAC,1EAD
0042,0062
0043,0063
0044,0064
0110,0111
0045,0065,00C8,00C9,00E8,00E9,1EB8,1EB9,1EBA,1EBB,1EBC,1EBD
00CA,00EA,1EBE,1EBF,1EC0,1EC1,1EC2,1EC3,1EC4,1EC5,1EC6,1EC7
0047,0067
0048,0068
0049,0069,00CC,00CD,00EC,00ED,0128,0129,1EC8,1EC9,1ECA,1ECB
004B,006B
004C,006C
004D,006D
004F,006F,00D2,00D3,00D5,00F2,00F3,00F5,1ECC,1ECD,1ECE,1ECF
00D4,00F4,1ED0,1ED1,1ED2,1ED3,1ED4,1ED5,1ED6,1ED7,1ED8,1ED9
01A0,01A1,1EDA,1EDB,1EDC,1EDD,1EDE,1EDF,1EE0,1EE1,1EE2,1EE3
0050,0070
0051,0071
0052,0072
0053,0073
0054,0074
0055,0075,00D9,00DA,00F9,00FA,0168,0169,1EE4,1EE5,1EE6,1EE7
01AF,01B0,1EE8,1EE9,1EEA,1EEB,1EEC,1EED,1EEE,1EEF,1EF0,1EF1
0056,0076
0058,0078
0059,0079,00DD,00FD,1EF2,1EF3,1EF4,1EF5,1EF6,1EF7,1EF8,1EF9
select group_concat(c1 order by hex(c1) SEPARATOR '') from t1 group by c1;
group_concat(c1 order by hex(c1) SEPARATOR '')
AaÀÁÃàáãẠạẢả
ĂăẮắẰằẲẳẴẵẶặ
ÂâẤấẦầẨẩẪẫẬậ
Bb
Cc
Dd
Đđ
EeÈÉèéẸẹẺẻẼẽ
ÊêẾếỀềỂểỄễỆệ
Gg
Hh
IiÌÍìíĨĩỈỉỊị
Kk
Ll
Mm
OoÒÓÕòóõỌọỎỏ
ÔôỐốỒồỔổỖỗỘộ
ƠơỚớỜờỞởỠỡỢợ
Pp
Qq
Rr
Ss
Tt
UuÙÚùúŨũỤụỦủ
ƯưỨứỪừỬửỮữỰự
Vv
Xx
YyÝýỲỳỴỵỶỷỸỹ
drop table t1;
Bug#46448 trailing spaces are not ignored when user collation maps space != 0x20
set names latin1;
show collation like 'latin1_test';
Collation	Charset	Id	Default	Compiled	Sortlen
latin1_test	latin1	99		Yes	1
select "foo" = "foo " collate latin1_test;
"foo" = "foo " collate latin1_test
1
The following tests check that two-byte collation IDs work
select * from information_schema.collations where id>256 order by id;
COLLATION_NAME	CHARACTER_SET_NAME	ID	IS_DEFAULT	IS_COMPILED	SORTLEN
utf8mb4_test_ci	utf8mb4	326			8
utf16_test_ci	utf16	327			8
utf8_phone_ci	utf8	352			8
utf8_test_ci	utf8	353			8
ucs2_test_ci	ucs2	358			8
ucs2_vn_ci	ucs2	359			8
utf32_test_ci	utf32	391			8
utf8_maxuserid_ci	utf8	2047			8
show collation like '%test%';
Collation	Charset	Id	Default	Compiled	Sortlen
latin1_test	latin1	99		Yes	1
utf8_test_ci	utf8	353			8
ucs2_test_ci	ucs2	358			8
utf8mb4_test_ci	utf8mb4	326			8
utf16_test_ci	utf16	327			8
utf32_test_ci	utf32	391			8
show collation like 'ucs2_vn_ci';
Collation	Charset	Id	Default	Compiled	Sortlen
ucs2_vn_ci	ucs2	359			8
create table t1 (c1 char(1) character set ucs2 collate ucs2_vn_ci);
insert into t1 values (0x0061);
set @@character_set_results=NULL;
select * from t1;
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
def	test	t1	t1	c1	c1	254	2	2	Y	0	0	359
c1
a
drop table t1;
CREATE TABLE t1 (s1 char(10) character set utf8 collate utf8_maxuserid_ci);
INSERT INTO t1 VALUES ('a'),('b');
SELECT * FROM t1 WHERE s1='a' ORDER BY BINARY s1;
s1
a
b
DROP TABLE t1;
SET NAMES utf8 COLLATE utf8_phone_ci;
SHOW COLLATION LIKE 'utf8_phone_ci';
Collation	Charset	Id	Default	Compiled	Sortlen
utf8_phone_ci	utf8	352			8
SET NAMES utf8;