MDEV-30716 Wrong casefolding in xxx_unicode_520_ci for U+0700..U+07FF
The array my_unicase_pages_unicode520[7] erroneously mapped to plane06 instead of plane07.
This commit is contained in:
parent
b12cd88ce1
commit
b62123e0d5
23
mysql-test/include/ctype_unicode_casefold_bmp.inc
Normal file
23
mysql-test/include/ctype_unicode_casefold_bmp.inc
Normal file
@ -0,0 +1,23 @@
|
||||
--source include/have_utf32.inc
|
||||
--source include/have_ucs2.inc
|
||||
--source include/have_sequence.inc
|
||||
|
||||
EXECUTE IMMEDIATE SFORMAT('
|
||||
CREATE VIEW v_bmp AS
|
||||
SELECT
|
||||
seq AS codepoint,
|
||||
LPAD(HEX(seq),4,''0'') AS codepoint_hex4,
|
||||
CONVERT(CHAR(seq USING utf32) USING {}) COLLATE {} AS c
|
||||
FROM
|
||||
seq_0_to_65535', @@character_set_connection, @@collation_connection);
|
||||
|
||||
SELECT COLLATION(c) FROM v_bmp LIMIT 1;
|
||||
|
||||
SELECT
|
||||
codepoint_hex4,
|
||||
HEX(CAST(LOWER(c) AS CHAR CHARACTER SET ucs2)),
|
||||
HEX(CAST(UPPER(c) AS CHAR CHARACTER SET ucs2))
|
||||
FROM v_bmp
|
||||
WHERE BINARY(c)<>BINARY(LOWER(c)) OR BINARY(c)<>BINARY(UPPER(c));
|
||||
|
||||
DROP VIEW v_bmp;
|
22
mysql-test/include/ctype_unicode_casefold_supplementary.inc
Normal file
22
mysql-test/include/ctype_unicode_casefold_supplementary.inc
Normal file
@ -0,0 +1,22 @@
|
||||
--source include/have_utf32.inc
|
||||
--source include/have_sequence.inc
|
||||
|
||||
EXECUTE IMMEDIATE SFORMAT('
|
||||
CREATE VIEW v_supplementary AS
|
||||
SELECT
|
||||
seq AS codepoint,
|
||||
LPAD(HEX(seq),8,''0'') AS codepoint_hex8,
|
||||
CONVERT(CHAR(seq USING utf32) USING {}) COLLATE {} AS c
|
||||
FROM
|
||||
seq_65536_to_1114111', @@character_set_connection, @@collation_connection);
|
||||
|
||||
SELECT COLLATION(c) FROM v_supplementary LIMIT 1;
|
||||
|
||||
SELECT
|
||||
codepoint_hex8,
|
||||
HEX(CAST(LOWER(c) AS CHAR CHARACTER SET utf32)),
|
||||
HEX(CAST(UPPER(c) AS CHAR CHARACTER SET utf32))
|
||||
FROM v_supplementary
|
||||
WHERE BINARY(c)<>BINARY(LOWER(c)) OR BINARY(c)<>BINARY(UPPER(c));
|
||||
|
||||
DROP VIEW v_supplementary;
|
26
mysql-test/include/ctype_unicode_ws_bmp.inc
Normal file
26
mysql-test/include/ctype_unicode_ws_bmp.inc
Normal file
@ -0,0 +1,26 @@
|
||||
--source include/have_utf32.inc
|
||||
--source include/have_sequence.inc
|
||||
|
||||
EXECUTE IMMEDIATE SFORMAT('
|
||||
CREATE VIEW v_bmp AS
|
||||
SELECT
|
||||
seq AS codepoint,
|
||||
LPAD(HEX(seq),4,''0'') AS codepoint_hex4,
|
||||
CONVERT(CHAR(seq USING utf32) USING {}) COLLATE {} AS c
|
||||
FROM
|
||||
seq_0_to_65535', @@character_set_connection, @@collation_connection);
|
||||
|
||||
SELECT COLLATION(c) FROM v_bmp LIMIT 1;
|
||||
|
||||
SELECT HEX(codepoint) FROM v_bmp WHERE HEX(WEIGHT_STRING(c))='FFFD';
|
||||
|
||||
SELECT
|
||||
SUM(codepoint_hex4=HEX(WEIGHT_STRING(c))) AS count_bmp_weight_is_codepoint,
|
||||
SUM(codepoint_hex4<>HEX(WEIGHT_STRING(c))) AS count_bmp_weight_is_not_codepoint
|
||||
FROM v_bmp;
|
||||
|
||||
SELECT codepoint_hex4,HEX(WEIGHT_STRING(c))
|
||||
FROM v_bmp
|
||||
WHERE codepoint_hex4<>HEX(WEIGHT_STRING(c));
|
||||
|
||||
DROP VIEW v_bmp;
|
19
mysql-test/include/ctype_unicode_ws_supplementary.inc
Normal file
19
mysql-test/include/ctype_unicode_ws_supplementary.inc
Normal file
@ -0,0 +1,19 @@
|
||||
--source include/have_utf32.inc
|
||||
--source include/have_sequence.inc
|
||||
|
||||
EXECUTE IMMEDIATE SFORMAT('
|
||||
CREATE VIEW v_supplementary AS
|
||||
SELECT
|
||||
seq AS codepoint,
|
||||
CONVERT(CHAR(seq USING utf32) USING {}) COLLATE {} AS c
|
||||
FROM
|
||||
seq_65536_to_1114111', @@character_set_connection, @@collation_connection);
|
||||
|
||||
SELECT COLLATION(c) FROM v_supplementary LIMIT 1;
|
||||
|
||||
SELECT
|
||||
SUM(HEX(WEIGHT_STRING(c))<>'FFFD'),
|
||||
SUM(HEX(WEIGHT_STRING(c))='FFFD')
|
||||
FROM v_supplementary;
|
||||
|
||||
DROP VIEW v_supplementary;
|
1427
mysql-test/main/ctype_ucs2_general_ci_casefold.result
Normal file
1427
mysql-test/main/ctype_ucs2_general_ci_casefold.result
Normal file
File diff suppressed because it is too large
Load Diff
14
mysql-test/main/ctype_ucs2_general_ci_casefold.test
Normal file
14
mysql-test/main/ctype_ucs2_general_ci_casefold.test
Normal file
@ -0,0 +1,14 @@
|
||||
--echo #
|
||||
--echo # Start of 10.7 tests
|
||||
--echo #
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-30716 Wrong casefolding in xxx_unicode_520_ci for U+0700..U+07FF
|
||||
--echo #
|
||||
|
||||
SET collation_connection=ucs2_general_ci;
|
||||
--source include/ctype_unicode_casefold_bmp.inc
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.7 tests
|
||||
--echo #
|
1143
mysql-test/main/ctype_ucs2_general_ci_ws.result
Normal file
1143
mysql-test/main/ctype_ucs2_general_ci_ws.result
Normal file
File diff suppressed because it is too large
Load Diff
14
mysql-test/main/ctype_ucs2_general_ci_ws.test
Normal file
14
mysql-test/main/ctype_ucs2_general_ci_ws.test
Normal file
@ -0,0 +1,14 @@
|
||||
--echo #
|
||||
--echo # Start of 10.7 tests
|
||||
--echo #
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-30716 Wrong casefolding in xxx_unicode_520_ci for U+0700..U+07FF
|
||||
--echo #
|
||||
|
||||
SET @@collation_connection=ucs2_general_ci;
|
||||
--source include/ctype_unicode_ws_bmp.inc
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.7 tests
|
||||
--echo #
|
1427
mysql-test/main/ctype_ucs2_general_mysql500_ci_casefold.result
Normal file
1427
mysql-test/main/ctype_ucs2_general_mysql500_ci_casefold.result
Normal file
File diff suppressed because it is too large
Load Diff
15
mysql-test/main/ctype_ucs2_general_mysql500_ci_casefold.test
Normal file
15
mysql-test/main/ctype_ucs2_general_mysql500_ci_casefold.test
Normal file
@ -0,0 +1,15 @@
|
||||
--echo #
|
||||
--echo # Start of 10.7 tests
|
||||
--echo #
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-30716 Wrong casefolding in xxx_unicode_520_ci for U+0700..U+07FF
|
||||
--echo #
|
||||
|
||||
SET @@collation_connection=ucs2_general_mysql500_ci;
|
||||
--source include/ctype_unicode_casefold_bmp.inc
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.7 tests
|
||||
--echo #
|
1143
mysql-test/main/ctype_ucs2_general_mysql500_ci_ws.result
Normal file
1143
mysql-test/main/ctype_ucs2_general_mysql500_ci_ws.result
Normal file
File diff suppressed because it is too large
Load Diff
15
mysql-test/main/ctype_ucs2_general_mysql500_ci_ws.test
Normal file
15
mysql-test/main/ctype_ucs2_general_mysql500_ci_ws.test
Normal file
@ -0,0 +1,15 @@
|
||||
--echo #
|
||||
--echo # Start of 10.7 tests
|
||||
--echo #
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-30716 Wrong casefolding in xxx_unicode_520_ci for U+0700..U+07FF
|
||||
--echo #
|
||||
|
||||
SET @@collation_connection=ucs2_general_mysql500_ci;
|
||||
--source include/ctype_unicode_ws_bmp.inc
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.7 tests
|
||||
--echo #
|
1427
mysql-test/main/ctype_ucs2_turkish_ci_casefold.result
Normal file
1427
mysql-test/main/ctype_ucs2_turkish_ci_casefold.result
Normal file
File diff suppressed because it is too large
Load Diff
14
mysql-test/main/ctype_ucs2_turkish_ci_casefold.test
Normal file
14
mysql-test/main/ctype_ucs2_turkish_ci_casefold.test
Normal file
@ -0,0 +1,14 @@
|
||||
--echo #
|
||||
--echo # Start of 10.7 tests
|
||||
--echo #
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-30716 Wrong casefolding in xxx_unicode_520_ci for U+0700..U+07FF
|
||||
--echo #
|
||||
|
||||
SET @@collation_connection=ucs2_turkish_ci;
|
||||
--source include/ctype_unicode_casefold_bmp.inc
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.7 tests
|
||||
--echo #
|
2011
mysql-test/main/ctype_ucs2_unicode_520_ci_casefold.result
Normal file
2011
mysql-test/main/ctype_ucs2_unicode_520_ci_casefold.result
Normal file
File diff suppressed because it is too large
Load Diff
14
mysql-test/main/ctype_ucs2_unicode_520_ci_casefold.test
Normal file
14
mysql-test/main/ctype_ucs2_unicode_520_ci_casefold.test
Normal file
@ -0,0 +1,14 @@
|
||||
--echo #
|
||||
--echo # Start of 10.7 tests
|
||||
--echo #
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-30716 Wrong casefolding in xxx_unicode_520_ci for U+0700..U+07FF
|
||||
--echo #
|
||||
|
||||
SET @@collation_connection=ucs2_unicode_520_ci;
|
||||
--source include/ctype_unicode_casefold_bmp.inc
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.7 tests
|
||||
--echo #
|
1427
mysql-test/main/ctype_utf8mb3_general_ci_casefold.result
Normal file
1427
mysql-test/main/ctype_utf8mb3_general_ci_casefold.result
Normal file
File diff suppressed because it is too large
Load Diff
14
mysql-test/main/ctype_utf8mb3_general_ci_casefold.test
Normal file
14
mysql-test/main/ctype_utf8mb3_general_ci_casefold.test
Normal file
@ -0,0 +1,14 @@
|
||||
--echo #
|
||||
--echo # Start of 10.7 tests
|
||||
--echo #
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-30716 Wrong casefolding in xxx_unicode_520_ci for U+0700..U+07FF
|
||||
--echo #
|
||||
|
||||
SET NAMES utf8mb3 COLLATE utf8mb3_general_ci;
|
||||
--source include/ctype_unicode_casefold_bmp.inc
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.7 tests
|
||||
--echo #
|
1143
mysql-test/main/ctype_utf8mb3_general_ci_ws.result
Normal file
1143
mysql-test/main/ctype_utf8mb3_general_ci_ws.result
Normal file
File diff suppressed because it is too large
Load Diff
14
mysql-test/main/ctype_utf8mb3_general_ci_ws.test
Normal file
14
mysql-test/main/ctype_utf8mb3_general_ci_ws.test
Normal file
@ -0,0 +1,14 @@
|
||||
--echo #
|
||||
--echo # Start of 10.7 tests
|
||||
--echo #
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-30716 Wrong casefolding in xxx_unicode_520_ci for U+0700..U+07FF
|
||||
--echo #
|
||||
|
||||
SET NAMES utf8mb3 COLLATE utf8mb3_general_ci;
|
||||
--source include/ctype_unicode_ws_bmp.inc
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.7 tests
|
||||
--echo #
|
1427
mysql-test/main/ctype_utf8mb3_general_mysql500_ci_casefold.result
Normal file
1427
mysql-test/main/ctype_utf8mb3_general_mysql500_ci_casefold.result
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,15 @@
|
||||
--echo #
|
||||
--echo # Start of 10.7 tests
|
||||
--echo #
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-30716 Wrong casefolding in xxx_unicode_520_ci for U+0700..U+07FF
|
||||
--echo #
|
||||
|
||||
SET NAMES utf8mb3 COLLATE utf8mb3_general_mysql500_ci;
|
||||
--source include/ctype_unicode_casefold_bmp.inc
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.7 tests
|
||||
--echo #
|
1142
mysql-test/main/ctype_utf8mb3_general_mysql500_ci_ws.result
Normal file
1142
mysql-test/main/ctype_utf8mb3_general_mysql500_ci_ws.result
Normal file
File diff suppressed because it is too large
Load Diff
15
mysql-test/main/ctype_utf8mb3_general_mysql500_ci_ws.test
Normal file
15
mysql-test/main/ctype_utf8mb3_general_mysql500_ci_ws.test
Normal file
@ -0,0 +1,15 @@
|
||||
--echo #
|
||||
--echo # Start of 10.7 tests
|
||||
--echo #
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-30716 Wrong casefolding in xxx_unicode_520_ci for U+0700..U+07FF
|
||||
--echo #
|
||||
|
||||
SET NAMES utf8mb3 COLLATE utf8mb3_general_mysql500_ci;
|
||||
--source include/ctype_unicode_ws_bmp.inc
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.7 tests
|
||||
--echo #
|
1427
mysql-test/main/ctype_utf8mb3_turkish_ci_casefold.result
Normal file
1427
mysql-test/main/ctype_utf8mb3_turkish_ci_casefold.result
Normal file
File diff suppressed because it is too large
Load Diff
14
mysql-test/main/ctype_utf8mb3_turkish_ci_casefold.test
Normal file
14
mysql-test/main/ctype_utf8mb3_turkish_ci_casefold.test
Normal file
@ -0,0 +1,14 @@
|
||||
--echo #
|
||||
--echo # Start of 10.7 tests
|
||||
--echo #
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-30716 Wrong casefolding in xxx_unicode_520_ci for U+0700..U+07FF
|
||||
--echo #
|
||||
|
||||
SET NAMES utf8mb3 COLLATE utf8mb3_turkish_ci;
|
||||
--source include/ctype_unicode_casefold_bmp.inc
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.7 tests
|
||||
--echo #
|
2011
mysql-test/main/ctype_utf8mb3_unicode_520_ci_casefold.result
Normal file
2011
mysql-test/main/ctype_utf8mb3_unicode_520_ci_casefold.result
Normal file
File diff suppressed because it is too large
Load Diff
14
mysql-test/main/ctype_utf8mb3_unicode_520_ci_casefold.test
Normal file
14
mysql-test/main/ctype_utf8mb3_unicode_520_ci_casefold.test
Normal file
@ -0,0 +1,14 @@
|
||||
--echo #
|
||||
--echo # Start of 10.7 tests
|
||||
--echo #
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-30716 Wrong casefolding in xxx_unicode_520_ci for U+0700..U+07FF
|
||||
--echo #
|
||||
|
||||
SET NAMES utf8mb3 COLLATE utf8mb3_unicode_520_ci;
|
||||
--source include/ctype_unicode_casefold_bmp.inc
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.7 tests
|
||||
--echo #
|
1446
mysql-test/main/ctype_utf8mb4_general_ci_casefold.result
Normal file
1446
mysql-test/main/ctype_utf8mb4_general_ci_casefold.result
Normal file
File diff suppressed because it is too large
Load Diff
15
mysql-test/main/ctype_utf8mb4_general_ci_casefold.test
Normal file
15
mysql-test/main/ctype_utf8mb4_general_ci_casefold.test
Normal file
@ -0,0 +1,15 @@
|
||||
--echo #
|
||||
--echo # Start of 10.7 tests
|
||||
--echo #
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-30716 Wrong casefolding in xxx_unicode_520_ci for U+0700..U+07FF
|
||||
--echo #
|
||||
|
||||
SET NAMES utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
--source include/ctype_unicode_casefold_bmp.inc
|
||||
--source include/ctype_unicode_casefold_supplementary.inc
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.7 tests
|
||||
--echo #
|
1160
mysql-test/main/ctype_utf8mb4_general_ci_ws.result
Normal file
1160
mysql-test/main/ctype_utf8mb4_general_ci_ws.result
Normal file
File diff suppressed because it is too large
Load Diff
16
mysql-test/main/ctype_utf8mb4_general_ci_ws.test
Normal file
16
mysql-test/main/ctype_utf8mb4_general_ci_ws.test
Normal file
@ -0,0 +1,16 @@
|
||||
--echo #
|
||||
--echo # Start of 10.7 tests
|
||||
--echo #
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-30716 Wrong casefolding in xxx_unicode_520_ci for U+0700..U+07FF
|
||||
--echo #
|
||||
|
||||
SET NAMES utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
--source include/ctype_unicode_ws_bmp.inc
|
||||
--source include/ctype_unicode_ws_supplementary.inc
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.7 tests
|
||||
--echo #
|
1446
mysql-test/main/ctype_utf8mb4_turkish_ci_casefold.result
Normal file
1446
mysql-test/main/ctype_utf8mb4_turkish_ci_casefold.result
Normal file
File diff suppressed because it is too large
Load Diff
15
mysql-test/main/ctype_utf8mb4_turkish_ci_casefold.test
Normal file
15
mysql-test/main/ctype_utf8mb4_turkish_ci_casefold.test
Normal file
@ -0,0 +1,15 @@
|
||||
--echo #
|
||||
--echo # Start of 10.7 tests
|
||||
--echo #
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-30716 Wrong casefolding in xxx_unicode_520_ci for U+0700..U+07FF
|
||||
--echo #
|
||||
|
||||
SET NAMES utf8mb4 COLLATE utf8mb4_turkish_ci;
|
||||
--source include/ctype_unicode_casefold_bmp.inc
|
||||
--source include/ctype_unicode_casefold_supplementary.inc
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.7 tests
|
||||
--echo #
|
2110
mysql-test/main/ctype_utf8mb4_unicode_520_ci_casefold.result
Normal file
2110
mysql-test/main/ctype_utf8mb4_unicode_520_ci_casefold.result
Normal file
File diff suppressed because it is too large
Load Diff
15
mysql-test/main/ctype_utf8mb4_unicode_520_ci_casefold.test
Normal file
15
mysql-test/main/ctype_utf8mb4_unicode_520_ci_casefold.test
Normal file
@ -0,0 +1,15 @@
|
||||
--echo #
|
||||
--echo # Start of 10.7 tests
|
||||
--echo #
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-30716 Wrong casefolding in xxx_unicode_520_ci for U+0700..U+07FF
|
||||
--echo #
|
||||
|
||||
SET NAMES utf8mb4 COLLATE utf8mb4_unicode_520_ci;
|
||||
--source include/ctype_unicode_casefold_bmp.inc
|
||||
--source include/ctype_unicode_casefold_supplementary.inc
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.7 tests
|
||||
--echo #
|
1446
mysql-test/main/ctype_utf8mb4_unicode_ci_casefold.result
Normal file
1446
mysql-test/main/ctype_utf8mb4_unicode_ci_casefold.result
Normal file
File diff suppressed because it is too large
Load Diff
15
mysql-test/main/ctype_utf8mb4_unicode_ci_casefold.test
Normal file
15
mysql-test/main/ctype_utf8mb4_unicode_ci_casefold.test
Normal file
@ -0,0 +1,15 @@
|
||||
--echo #
|
||||
--echo # Start of 10.7 tests
|
||||
--echo #
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-30716 Wrong casefolding in xxx_unicode_520_ci for U+0700..U+07FF
|
||||
--echo #
|
||||
|
||||
SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
--source include/ctype_unicode_casefold_bmp.inc
|
||||
--source include/ctype_unicode_casefold_supplementary.inc
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.7 tests
|
||||
--echo #
|
@ -4595,7 +4595,7 @@ static MY_UNICASE_CHARACTER u520p104[]={
|
||||
|
||||
MY_UNICASE_CHARACTER *my_unicase_pages_unicode520[4352]=
|
||||
{
|
||||
u520p00, u520p01, u520p02, u520p03, u520p04, u520p05, plane06, plane06,
|
||||
u520p00, u520p01, u520p02, u520p03, u520p04, u520p05, plane06, plane07,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
u520p10, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, u520p1D, u520p1E, u520p1F,
|
||||
|
Loading…
x
Reference in New Issue
Block a user