Auto-merge from mysql-next-mr.

This commit is contained in:
Alexander Nozdrin 2010-01-21 11:58:17 +03:00
commit f544707ea0
30 changed files with 12326 additions and 35 deletions

View file

@ -3074,3 +3074,4 @@ libmysqld/rpl_handler.cc
dbug/tests
libmysqld/sys_vars.cc
libmysqld/keycaches.cc
client/dtoa.c

View file

@ -40,9 +40,9 @@ extern "C" {
typedef struct unicase_info_st
{
uint16 toupper;
uint16 tolower;
uint16 sort;
uint32 toupper;
uint32 tolower;
uint32 sort;
} MY_UNICASE_INFO;
@ -439,6 +439,14 @@ extern size_t my_caseup_mb(CHARSET_INFO *, char *src, size_t srclen,
char *dst, size_t dstlen);
extern size_t my_casedn_mb(CHARSET_INFO *, char *src, size_t srclen,
char *dst, size_t dstlen);
extern size_t my_caseup_mb_varlen(CHARSET_INFO *, char *src, size_t srclen,
char *dst, size_t dstlen);
extern size_t my_casedn_mb_varlen(CHARSET_INFO *, char *src, size_t srclen,
char *dst, size_t dstlen);
extern size_t my_caseup_ujis(CHARSET_INFO *, char *src, size_t srclen,
char *dst, size_t dstlen);
extern size_t my_casedn_ujis(CHARSET_INFO *, char *src, size_t srclen,
char *dst, size_t dstlen);
extern int my_strcasecmp_mb(CHARSET_INFO * cs,const char *, const char *);
int my_wildcmp_mb(CHARSET_INFO *,

View file

@ -11,16 +11,28 @@ main.information_schema # Bug#47449 2009-09-19 alik main.inform
main.lock_multi_bug38499 # Bug#47448 2009-09-19 alik main.lock_multi_bug38499 times out sporadically
main.lock_multi_bug38691 @solaris # Bug#47792 2009-10-02 alik main.lock_multi_bug38691 times out sporadically on Solaris 10
main.log_tables # Bug#47924 2009-10-08 alik main.log_tables times out sporadically
main.outfile_loaddata @solaris # bug#46895 2010-01-20 alik Test "outfile_loaddata" fails (reproducible)
main.plugin # Bug#47146 Linking problem with example plugin when dtrace enabled
main.signal_demo3 @solaris # Bug#47791 2010-01-20 alik Several test cases fail on Solaris with error Thread stack overrun
main.sp @solaris # Bug#47791 2010-01-20 alik Several test cases fail on Solaris with error Thread stack overrun
perfschema.tampered_perfschema_table1 @windows # Bug#50478 2010-01-20 alik perfschema.tampered_perfschema_table1 fails sporadically on Windows and Solaris
perfschema.tampered_perfschema_table1 @solaris # Bug#50478 2010-01-20 alik perfschema.tampered_perfschema_table1 fails sporadically on Windows and Solaris
rpl.rpl_get_master_version_and_clock* # Bug#49191 2009-12-01 Daogang rpl_get_master_version_and_clock failed on PB2: COM_REGISTER_SLAVE failed
rpl.rpl_heartbeat_basic # BUG#43828 2009-10-22 luis fails sporadically
rpl.rpl_heartbeat_2slaves # BUG#43828 2009-10-22 luis fails sporadically
rpl.rpl_innodb_bug28430* # Bug#46029
rpl.rpl_innodb_bug30888* @solaris # Bug#47646 2009-09-25 alik rpl.rpl_innodb_bug30888 fails sporadically on Solaris
rpl.rpl_killed_ddl @windows # Bug#47638 2010-01-20 alik The rpl_killed_ddl test fails on Windows
rpl.rpl_plugin_load* @solaris # Bug#47146
rpl.rpl_row_sp011* @solaris # Bug#47791 2010-01-20 alik Several test cases fail on Solaris with error Thread stack overrun
rpl.rpl_slave_load_remove_tmpfile* @windows # Bug#50474 2010-01-20 alik rpl_slave_load_remove_tmpfile failed on windows debug enabled binary
rpl.rpl_sync* @windows # Bug#50473 2010-01-20 alik rpl_sync fails on windows debug enabled binaries
rpl.rpl_timezone* # Bug#47017 2009-10-27 alik rpl_timezone fails on PB-2 with mismatch error
sys_vars.max_sp_recursion_depth_func @solaris # Bug#47791 2010-01-20 alik Several test cases fail on Solaris with error Thread stack overrun
# Declare all NDB-tests in ndb and rpl_ndb test suites experimental.
# Usually the test cases from ndb and rpl_ndb test suites are not run in PB,
# but they run by gcov.

View file

@ -277,3 +277,281 @@ hex(a)
EE00
drop table t1;
End of 5.0 tests
#
# Start of 5.5 tests
#
#
# Testing WL#4583 Case conversion in Asian character sets
#
SET NAMES utf8;
SET collation_connection=big5_chinese_ci;
CREATE TABLE t1 (b VARCHAR(2));
INSERT INTO t1 VALUES ('0'),('1'),('2'),('3'),('4'),('5'),('6'),('7');
INSERT INTO t1 VALUES ('8'),('9'),('A'),('B'),('C'),('D'),('E'),('F');
CREATE TEMPORARY TABLE head AS SELECT concat(b1.b, b2.b) AS head FROM t1 b1, t1 b2;
CREATE TEMPORARY TABLE tail AS SELECT concat(b1.b, b2.b) AS tail FROM t1 b1, t1 b2;
DROP TABLE t1;
CREATE TABLE t1 AS
SELECT concat(head, tail) AS code, ' ' AS a
FROM head, tail
WHERE (head BETWEEN '80' AND 'FF') AND (tail BETWEEN '20' AND 'FF')
ORDER BY head, tail;
DROP TEMPORARY TABLE head, tail;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`code` varchar(8) DEFAULT NULL,
`a` varchar(1) CHARACTER SET big5 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT COUNT(*) FROM t1;
COUNT(*)
28672
UPDATE t1 SET a=unhex(code) ORDER BY code;
Warnings:
Warning 1366 Incorrect string value: '\x80 ' for column 'a' at row 1
Warning 1366 Incorrect string value: '\x80!' for column 'a' at row 2
Warning 1366 Incorrect string value: '\x80"' for column 'a' at row 3
Warning 1366 Incorrect string value: '\x80#' for column 'a' at row 4
Warning 1366 Incorrect string value: '\x80$' for column 'a' at row 5
Warning 1366 Incorrect string value: '\x80%' for column 'a' at row 6
Warning 1366 Incorrect string value: '\x80&' for column 'a' at row 7
Warning 1366 Incorrect string value: '\x80'' for column 'a' at row 8
Warning 1366 Incorrect string value: '\x80(' for column 'a' at row 9
Warning 1366 Incorrect string value: '\x80)' for column 'a' at row 10
Warning 1366 Incorrect string value: '\x80*' for column 'a' at row 11
Warning 1366 Incorrect string value: '\x80+' for column 'a' at row 12
Warning 1366 Incorrect string value: '\x80,' for column 'a' at row 13
Warning 1366 Incorrect string value: '\x80-' for column 'a' at row 14
Warning 1366 Incorrect string value: '\x80.' for column 'a' at row 15
Warning 1366 Incorrect string value: '\x80/' for column 'a' at row 16
Warning 1366 Incorrect string value: '\x800' for column 'a' at row 17
Warning 1366 Incorrect string value: '\x801' for column 'a' at row 18
Warning 1366 Incorrect string value: '\x802' for column 'a' at row 19
Warning 1366 Incorrect string value: '\x803' for column 'a' at row 20
Warning 1366 Incorrect string value: '\x804' for column 'a' at row 21
Warning 1366 Incorrect string value: '\x805' for column 'a' at row 22
Warning 1366 Incorrect string value: '\x806' for column 'a' at row 23
Warning 1366 Incorrect string value: '\x807' for column 'a' at row 24
Warning 1366 Incorrect string value: '\x808' for column 'a' at row 25
Warning 1366 Incorrect string value: '\x809' for column 'a' at row 26
Warning 1366 Incorrect string value: '\x80:' for column 'a' at row 27
Warning 1366 Incorrect string value: '\x80;' for column 'a' at row 28
Warning 1366 Incorrect string value: '\x80<' for column 'a' at row 29
Warning 1366 Incorrect string value: '\x80=' for column 'a' at row 30
Warning 1366 Incorrect string value: '\x80>' for column 'a' at row 31
Warning 1366 Incorrect string value: '\x80?' for column 'a' at row 32
Warning 1366 Incorrect string value: '\x80@' for column 'a' at row 33
Warning 1366 Incorrect string value: '\x80A' for column 'a' at row 34
Warning 1366 Incorrect string value: '\x80B' for column 'a' at row 35
Warning 1366 Incorrect string value: '\x80C' for column 'a' at row 36
Warning 1366 Incorrect string value: '\x80D' for column 'a' at row 37
Warning 1366 Incorrect string value: '\x80E' for column 'a' at row 38
Warning 1366 Incorrect string value: '\x80F' for column 'a' at row 39
Warning 1366 Incorrect string value: '\x80G' for column 'a' at row 40
Warning 1366 Incorrect string value: '\x80H' for column 'a' at row 41
Warning 1366 Incorrect string value: '\x80I' for column 'a' at row 42
Warning 1366 Incorrect string value: '\x80J' for column 'a' at row 43
Warning 1366 Incorrect string value: '\x80K' for column 'a' at row 44
Warning 1366 Incorrect string value: '\x80L' for column 'a' at row 45
Warning 1366 Incorrect string value: '\x80M' for column 'a' at row 46
Warning 1366 Incorrect string value: '\x80N' for column 'a' at row 47
Warning 1366 Incorrect string value: '\x80O' for column 'a' at row 48
Warning 1366 Incorrect string value: '\x80P' for column 'a' at row 49
Warning 1366 Incorrect string value: '\x80Q' for column 'a' at row 50
Warning 1366 Incorrect string value: '\x80R' for column 'a' at row 51
Warning 1366 Incorrect string value: '\x80S' for column 'a' at row 52
Warning 1366 Incorrect string value: '\x80T' for column 'a' at row 53
Warning 1366 Incorrect string value: '\x80U' for column 'a' at row 54
Warning 1366 Incorrect string value: '\x80V' for column 'a' at row 55
Warning 1366 Incorrect string value: '\x80W' for column 'a' at row 56
Warning 1366 Incorrect string value: '\x80X' for column 'a' at row 57
Warning 1366 Incorrect string value: '\x80Y' for column 'a' at row 58
Warning 1366 Incorrect string value: '\x80Z' for column 'a' at row 59
Warning 1366 Incorrect string value: '\x80[' for column 'a' at row 60
Warning 1366 Incorrect string value: '\x80\' for column 'a' at row 61
Warning 1366 Incorrect string value: '\x80]' for column 'a' at row 62
Warning 1366 Incorrect string value: '\x80^' for column 'a' at row 63
Warning 1366 Incorrect string value: '\x80_' for column 'a' at row 64
SELECT COUNT(*) FROM t1 WHERE a<>'';
COUNT(*)
13973
SELECT code, hex(upper(a)), hex(lower(a)),a, upper(a), lower(a) FROM t1 WHERE hex(a)<>hex(upper(a)) OR hex(a)<>hex(lower(a));
code hex(upper(a)) hex(lower(a)) a upper(a) lower(a)
A2CF A2CF A2E9
A2D0 A2D0 A2EA
A2D1 A2D1 A2EB
A2D2 A2D2 A2EC
A2D3 A2D3 A2ED
A2D4 A2D4 A2EE
A2D5 A2D5 A2EF
A2D6 A2D6 A2F0
A2D7 A2D7 A2F1
A2D8 A2D8 A2F2
A2D9 A2D9 A2F3
A2DA A2DA A2F4
A2DB A2DB A2F5
A2DC A2DC A2F6
A2DD A2DD A2F7
A2DE A2DE A2F8
A2DF A2DF A2F9
A2E0 A2E0 A2FA
A2E1 A2E1 A2FB
A2E2 A2E2 A2FC
A2E3 A2E3 A2FD
A2E4 A2E4 A2FE
A2E5 A2E5 A340
A2E6 A2E6 A341
A2E7 A2E7 A342
A2E8 A2E8 A343
A2E9 A2CF A2E9
A2EA A2D0 A2EA
A2EB A2D1 A2EB
A2EC A2D2 A2EC
A2ED A2D3 A2ED
A2EE A2D4 A2EE
A2EF A2D5 A2EF
A2F0 A2D6 A2F0
A2F1 A2D7 A2F1
A2F2 A2D8 A2F2
A2F3 A2D9 A2F3
A2F4 A2DA A2F4
A2F5 A2DB A2F5
A2F6 A2DC A2F6
A2F7 A2DD A2F7
A2F8 A2DE A2F8
A2F9 A2DF A2F9
A2FA A2E0 A2FA
A2FB A2E1 A2FB
A2FC A2E2 A2FC
A2FD A2E3 A2FD
A2FE A2E4 A2FE
A340 A2E5 A340
A341 A2E6 A341
A342 A2E7 A342
A343 A2E8 A343
A344 A344 A35C Α Α α
A345 A345 A35D Β Β β
A346 A346 A35E Γ Γ γ
A347 A347 A35F Δ Δ δ
A348 A348 A360 Ε Ε ε
A349 A349 A361 Ζ Ζ ζ
A34A A34A A362 Η Η η
A34B A34B A363 Θ Θ θ
A34C A34C A364 Ι Ι ι
A34D A34D A365 Κ Κ κ
A34E A34E A366 Λ Λ λ
A34F A34F A367 Μ Μ μ
A350 A350 A368 Ν Ν ν
A351 A351 A369 Ξ Ξ ξ
A352 A352 A36A Ο Ο ο
A353 A353 A36B Π Π π
A354 A354 A36C Ρ Ρ ρ
A355 A355 A36D Σ Σ σ
A356 A356 A36E Τ Τ τ
A357 A357 A36F Υ Υ υ
A358 A358 A370 Φ Φ φ
A359 A359 A371 Χ Χ χ
A35A A35A A372 Ψ Ψ ψ
A35B A35B A373 Ω Ω ω
A35C A344 A35C α Α α
A35D A345 A35D β Β β
A35E A346 A35E γ Γ γ
A35F A347 A35F δ Δ δ
A360 A348 A360 ε Ε ε
A361 A349 A361 ζ Ζ ζ
A362 A34A A362 η Η η
A363 A34B A363 θ Θ θ
A364 A34C A364 ι Ι ι
A365 A34D A365 κ Κ κ
A366 A34E A366 λ Λ λ
A367 A34F A367 μ Μ μ
A368 A350 A368 ν Ν ν
A369 A351 A369 ξ Ξ ξ
A36A A352 A36A ο Ο ο
A36B A353 A36B π Π π
A36C A354 A36C ρ Ρ ρ
A36D A355 A36D σ Σ σ
A36E A356 A36E τ Τ τ
A36F A357 A36F υ Υ υ
A370 A358 A370 φ Φ φ
A371 A359 A371 χ Χ χ
A372 A35A A372 ψ Ψ ψ
A373 A35B A373 ω Ω ω
C7B1 C7B1 C7CC Д Д д
C7B2 C7B2 C7CD Е Е е
C7B3 C7B3 C7CE Ё Ё ё
C7B4 C7B4 C7CF Ж Ж ж
C7B5 C7B5 C7D0 З З з
C7B6 C7B6 C7D1 И И и
C7B7 C7B7 C7D2 Й Й й
C7B8 C7B8 C7D3 К К к
C7B9 C7B9 C7D4 Л Л л
C7BA C7BA C7D5 М М м
C7BB C7BB C7DC У У у
C7BC C7BC C7DD Ф Ф ф
C7BD C7BD C7DE Х Х х
C7BE C7BE C7DF Ц Ц ц
C7BF C7BF C7E0 Ч Ч ч
C7C0 C7C0 C7E1 Ш Ш ш
C7C1 C7C1 C7E2 Щ Щ щ
C7C2 C7C2 C7E3 Ъ Ъ ъ
C7C3 C7C3 C7E4 Ы Ы ы
C7C4 C7C4 C7E5 Ь Ь ь
C7C5 C7C5 C7E6 Э Э э
C7C6 C7C6 C7E7 Ю Ю ю
C7C7 C7C7 C7E8 Я Я я
C7CC C7B1 C7CC д Д д
C7CD C7B2 C7CD е Е е
C7CE C7B3 C7CE ё Ё ё
C7CF C7B4 C7CF ж Ж ж
C7D0 C7B5 C7D0 з З з
C7D1 C7B6 C7D1 и И и
C7D2 C7B7 C7D2 й Й й
C7D3 C7B8 C7D3 к К к
C7D4 C7B9 C7D4 л Л л
C7D5 C7BA C7D5 м М м
C7DC C7BB C7DC у У у
C7DD C7BC C7DD ф Ф ф
C7DE C7BD C7DE х Х х
C7DF C7BE C7DF ц Ц ц
C7E0 C7BF C7E0 ч Ч ч
C7E1 C7C0 C7E1 ш Ш ш
C7E2 C7C1 C7E2 щ Щ щ
C7E3 C7C2 C7E3 ъ Ъ ъ
C7E4 C7C3 C7E4 ы Ы ы
C7E5 C7C4 C7E5 ь Ь ь
C7E6 C7C5 C7E6 э Э э
C7E7 C7C6 C7E7 ю Ю ю
C7E8 C7C7 C7E8 я Я я
SELECT * FROM t1
WHERE HEX(CAST(LOWER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(LOWER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
code a
A2B9
A2BA Ⅱ
A2BB Ⅲ
A2BC Ⅳ
A2BD
A2BE Ⅵ
A2BF Ⅶ
A2C0 Ⅷ
A2C1 Ⅸ
A2C2
SELECT * FROM t1
WHERE HEX(CAST(UPPER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(UPPER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
code a
C7C8 а
C7C9 б
C7CA в
C7CB г
C7D6 н
C7D7 о
C7D8 п
C7D9 р
C7DA с
C7DB т
DROP TABLE t1;
#
# End of 5.5 tests
#

View file

@ -63,3 +63,331 @@ hex(a) hex(lower(a)) hex(upper(a))
8372835E 8372835E 8372835E
DROP TABLE t1;
End of 5.1 tests
#
# Start of 5.5 tests
#
#
# Testing WL#4583 Case conversion in Asian character sets
#
SET NAMES utf8;
SET collation_connection=cp932_japanese_ci;
CREATE TABLE t1 (b VARCHAR(2));
INSERT INTO t1 VALUES ('0'),('1'),('2'),('3'),('4'),('5'),('6'),('7');
INSERT INTO t1 VALUES ('8'),('9'),('A'),('B'),('C'),('D'),('E'),('F');
CREATE TEMPORARY TABLE head AS SELECT concat(b1.b, b2.b) AS head FROM t1 b1, t1 b2;
CREATE TEMPORARY TABLE tail AS SELECT concat(b1.b, b2.b) AS tail FROM t1 b1, t1 b2;
DROP TABLE t1;
CREATE TABLE t1 AS
SELECT concat(head, tail) AS code, ' ' AS a
FROM head, tail
WHERE (head BETWEEN '80' AND 'FF') AND (head NOT BETWEEN 'A1' AND 'DF')
AND (tail BETWEEN '20' AND 'FF')
ORDER BY head, tail;
INSERT t1 (code) SELECT head FROM head
WHERE (head BETWEEN 'A1' AND 'DF')
ORDER BY head;
DROP TEMPORARY TABLE head, tail;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`code` varchar(8) DEFAULT NULL,
`a` varchar(1) CHARACTER SET cp932 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
UPDATE t1 SET a=unhex(code) ORDER BY code;
Warnings:
Warning 1366 Incorrect string value: '\x80 ' for column 'a' at row 1
Warning 1366 Incorrect string value: '\x80!' for column 'a' at row 2
Warning 1366 Incorrect string value: '\x80"' for column 'a' at row 3
Warning 1366 Incorrect string value: '\x80#' for column 'a' at row 4
Warning 1366 Incorrect string value: '\x80$' for column 'a' at row 5
Warning 1366 Incorrect string value: '\x80%' for column 'a' at row 6
Warning 1366 Incorrect string value: '\x80&' for column 'a' at row 7
Warning 1366 Incorrect string value: '\x80'' for column 'a' at row 8
Warning 1366 Incorrect string value: '\x80(' for column 'a' at row 9
Warning 1366 Incorrect string value: '\x80)' for column 'a' at row 10
Warning 1366 Incorrect string value: '\x80*' for column 'a' at row 11
Warning 1366 Incorrect string value: '\x80+' for column 'a' at row 12
Warning 1366 Incorrect string value: '\x80,' for column 'a' at row 13
Warning 1366 Incorrect string value: '\x80-' for column 'a' at row 14
Warning 1366 Incorrect string value: '\x80.' for column 'a' at row 15
Warning 1366 Incorrect string value: '\x80/' for column 'a' at row 16
Warning 1366 Incorrect string value: '\x800' for column 'a' at row 17
Warning 1366 Incorrect string value: '\x801' for column 'a' at row 18
Warning 1366 Incorrect string value: '\x802' for column 'a' at row 19
Warning 1366 Incorrect string value: '\x803' for column 'a' at row 20
Warning 1366 Incorrect string value: '\x804' for column 'a' at row 21
Warning 1366 Incorrect string value: '\x805' for column 'a' at row 22
Warning 1366 Incorrect string value: '\x806' for column 'a' at row 23
Warning 1366 Incorrect string value: '\x807' for column 'a' at row 24
Warning 1366 Incorrect string value: '\x808' for column 'a' at row 25
Warning 1366 Incorrect string value: '\x809' for column 'a' at row 26
Warning 1366 Incorrect string value: '\x80:' for column 'a' at row 27
Warning 1366 Incorrect string value: '\x80;' for column 'a' at row 28
Warning 1366 Incorrect string value: '\x80<' for column 'a' at row 29
Warning 1366 Incorrect string value: '\x80=' for column 'a' at row 30
Warning 1366 Incorrect string value: '\x80>' for column 'a' at row 31
Warning 1366 Incorrect string value: '\x80?' for column 'a' at row 32
Warning 1366 Incorrect string value: '\x80@' for column 'a' at row 33
Warning 1366 Incorrect string value: '\x80A' for column 'a' at row 34
Warning 1366 Incorrect string value: '\x80B' for column 'a' at row 35
Warning 1366 Incorrect string value: '\x80C' for column 'a' at row 36
Warning 1366 Incorrect string value: '\x80D' for column 'a' at row 37
Warning 1366 Incorrect string value: '\x80E' for column 'a' at row 38
Warning 1366 Incorrect string value: '\x80F' for column 'a' at row 39
Warning 1366 Incorrect string value: '\x80G' for column 'a' at row 40
Warning 1366 Incorrect string value: '\x80H' for column 'a' at row 41
Warning 1366 Incorrect string value: '\x80I' for column 'a' at row 42
Warning 1366 Incorrect string value: '\x80J' for column 'a' at row 43
Warning 1366 Incorrect string value: '\x80K' for column 'a' at row 44
Warning 1366 Incorrect string value: '\x80L' for column 'a' at row 45
Warning 1366 Incorrect string value: '\x80M' for column 'a' at row 46
Warning 1366 Incorrect string value: '\x80N' for column 'a' at row 47
Warning 1366 Incorrect string value: '\x80O' for column 'a' at row 48
Warning 1366 Incorrect string value: '\x80P' for column 'a' at row 49
Warning 1366 Incorrect string value: '\x80Q' for column 'a' at row 50
Warning 1366 Incorrect string value: '\x80R' for column 'a' at row 51
Warning 1366 Incorrect string value: '\x80S' for column 'a' at row 52
Warning 1366 Incorrect string value: '\x80T' for column 'a' at row 53
Warning 1366 Incorrect string value: '\x80U' for column 'a' at row 54
Warning 1366 Incorrect string value: '\x80V' for column 'a' at row 55
Warning 1366 Incorrect string value: '\x80W' for column 'a' at row 56
Warning 1366 Incorrect string value: '\x80X' for column 'a' at row 57
Warning 1366 Incorrect string value: '\x80Y' for column 'a' at row 58
Warning 1366 Incorrect string value: '\x80Z' for column 'a' at row 59
Warning 1366 Incorrect string value: '\x80[' for column 'a' at row 60
Warning 1366 Incorrect string value: '\x80\' for column 'a' at row 61
Warning 1366 Incorrect string value: '\x80]' for column 'a' at row 62
Warning 1366 Incorrect string value: '\x80^' for column 'a' at row 63
Warning 1366 Incorrect string value: '\x80_' for column 'a' at row 64
SELECT COUNT(*) FROM t1;
COUNT(*)
14623
SELECT COUNT(*) FROM t1 WHERE a<>'' AND OCTET_LENGTH(a)=1;
COUNT(*)
63
SELECT COUNT(*) FROM t1 WHERE a<>'' AND OCTET_LENGTH(a)=2;
COUNT(*)
11280
SELECT code, hex(upper(a)), hex(lower(a)),a, upper(a), lower(a) FROM t1
WHERE hex(a)<>hex(upper(a)) OR hex(a)<>hex(lower(a))
ORDER BY code;
code hex(upper(a)) hex(lower(a)) a upper(a) lower(a)
8260 8260 8281
8261 8261 8282
8262 8262 8283
8263 8263 8284
8264 8264 8285
8265 8265 8286
8266 8266 8287
8267 8267 8288
8268 8268 8289
8269 8269 828A
826A 826A 828B
826B 826B 828C
826C 826C 828D
826D 826D 828E
826E 826E 828F
826F 826F 8290
8270 8270 8291
8271 8271 8292
8272 8272 8293
8273 8273 8294
8274 8274 8295
8275 8275 8296
8276 8276 8297
8277 8277 8298
8278 8278 8299
8279 8279 829A
8281 8260 8281
8282 8261 8282
8283 8262 8283
8284 8263 8284
8285 8264 8285
8286 8265 8286
8287 8266 8287
8288 8267 8288
8289 8268 8289
828A 8269 828A
828B 826A 828B
828C 826B 828C
828D 826C 828D
828E 826D 828E
828F 826E 828F
8290 826F 8290
8291 8270 8291
8292 8271 8292
8293 8272 8293
8294 8273 8294
8295 8274 8295
8296 8275 8296
8297 8276 8297
8298 8277 8298
8299 8278 8299
829A 8279 829A
839F 839F 83BF Α Α α
83A0 83A0 83C0 Β Β β
83A1 83A1 83C1 Γ Γ γ
83A2 83A2 83C2 Δ Δ δ
83A3 83A3 83C3 Ε Ε ε
83A4 83A4 83C4 Ζ Ζ ζ
83A5 83A5 83C5 Η Η η
83A6 83A6 83C6 Θ Θ θ
83A7 83A7 83C7 Ι Ι ι
83A8 83A8 83C8 Κ Κ κ
83A9 83A9 83C9 Λ Λ λ
83AA 83AA 83CA Μ Μ μ
83AB 83AB 83CB Ν Ν ν
83AC 83AC 83CC Ξ Ξ ξ
83AD 83AD 83CD Ο Ο ο
83AE 83AE 83CE Π Π π
83AF 83AF 83CF Ρ Ρ ρ
83B0 83B0 83D0 Σ Σ σ
83B1 83B1 83D1 Τ Τ τ
83B2 83B2 83D2 Υ Υ υ
83B3 83B3 83D3 Φ Φ φ
83B4 83B4 83D4 Χ Χ χ
83B5 83B5 83D5 Ψ Ψ ψ
83B6 83B6 83D6 Ω Ω ω
83BF 839F 83BF α Α α
83C0 83A0 83C0 β Β β
83C1 83A1 83C1 γ Γ γ
83C2 83A2 83C2 δ Δ δ
83C3 83A3 83C3 ε Ε ε
83C4 83A4 83C4 ζ Ζ ζ
83C5 83A5 83C5 η Η η
83C6 83A6 83C6 θ Θ θ
83C7 83A7 83C7 ι Ι ι
83C8 83A8 83C8 κ Κ κ
83C9 83A9 83C9 λ Λ λ
83CA 83AA 83CA μ Μ μ
83CB 83AB 83CB ν Ν ν
83CC 83AC 83CC ξ Ξ ξ
83CD 83AD 83CD ο Ο ο
83CE 83AE 83CE π Π π
83CF 83AF 83CF ρ Ρ ρ
83D0 83B0 83D0 σ Σ σ
83D1 83B1 83D1 τ Τ τ
83D2 83B2 83D2 υ Υ υ
83D3 83B3 83D3 φ Φ φ
83D4 83B4 83D4 χ Χ χ
83D5 83B5 83D5 ψ Ψ ψ
83D6 83B6 83D6 ω Ω ω
8440 8440 8470 А А а
8441 8441 8471 Б Б б
8442 8442 8472 В В в
8443 8443 8473 Г Г г
8444 8444 8474 Д Д д
8445 8445 8475 Е Е е
8446 8446 8476 Ё Ё ё
8447 8447 8477 Ж Ж ж
8448 8448 8478 З З з
8449 8449 8479 И И и
844A 844A 847A Й Й й
844B 844B 847B К К к
844C 844C 847C Л Л л
844D 844D 847D М М м
844E 844E 847E Н Н н
844F 844F 8480 О О о
8450 8450 8481 П П п
8451 8451 8482 Р Р р
8452 8452 8483 С С с
8453 8453 8484 Т Т т
8454 8454 8485 У У у
8455 8455 8486 Ф Ф ф
8456 8456 8487 Х Х х
8457 8457 8488 Ц Ц ц
8458 8458 8489 Ч Ч ч
8459 8459 848A Ш Ш ш
845A 845A 848B Щ Щ щ
845B 845B 848C Ъ Ъ ъ
845C 845C 848D Ы Ы ы
845D 845D 848E Ь Ь ь
845E 845E 848F Э Э э
845F 845F 8490 Ю Ю ю
8460 8460 8491 Я Я я
8470 8440 8470 а А а
8471 8441 8471 б Б б
8472 8442 8472 в В в
8473 8443 8473 г Г г
8474 8444 8474 д Д д
8475 8445 8475 е Е е
8476 8446 8476 ё Ё ё
8477 8447 8477 ж Ж ж
8478 8448 8478 з З з
8479 8449 8479 и И и
847A 844A 847A й Й й
847B 844B 847B к К к
847C 844C 847C л Л л
847D 844D 847D м М м
847E 844E 847E н Н н
8480 844F 8480 о О о
8481 8450 8481 п П п
8482 8451 8482 р Р р
8483 8452 8483 с С с
8484 8453 8484 т Т т
8485 8454 8485 у У у
8486 8455 8486 ф Ф ф
8487 8456 8487 х Х х
8488 8457 8488 ц Ц ц
8489 8458 8489 ч Ч ч
848A 8459 848A ш Ш ш
848B 845A 848B щ Щ щ
848C 845B 848C ъ Ъ ъ
848D 845C 848D ы Ы ы
848E 845D 848E ь Ь ь
848F 845E 848F э Э э
8490 845F 8490 ю Ю ю
8491 8460 8491 я Я я
8754 8754 EEEF
8755 8755 EEF0 Ⅱ Ⅱ ⅱ
8756 8756 EEF1 Ⅲ Ⅲ ⅲ
8757 8757 EEF2 Ⅳ Ⅳ ⅳ
8758 8758 EEF3
8759 8759 EEF4 Ⅵ Ⅵ ⅵ
875A 875A EEF5 Ⅶ Ⅶ ⅶ
875B 875B EEF6 Ⅷ Ⅷ ⅷ
875C 875C EEF7 Ⅸ Ⅸ ⅸ
875D 875D EEF8
EEEF 8754 EEEF
EEF0 8755 EEF0 ⅱ Ⅱ ⅱ
EEF1 8756 EEF1 ⅲ Ⅲ ⅲ
EEF2 8757 EEF2 ⅳ Ⅳ ⅳ
EEF3 8758 EEF3
EEF4 8759 EEF4 ⅵ Ⅵ ⅵ
EEF5 875A EEF5 ⅶ Ⅶ ⅶ
EEF6 875B EEF6 ⅷ Ⅷ ⅷ
EEF7 875C EEF7 ⅸ Ⅸ ⅸ
EEF8 875D EEF8
FA40 FA4A FA40
FA41 FA4B FA41 ⅱ Ⅱ ⅱ
FA42 FA4C FA42 ⅲ Ⅲ ⅲ
FA43 FA4D FA43 ⅳ Ⅳ ⅳ
FA44 FA4E FA44
FA45 FA4F FA45 ⅵ Ⅵ ⅵ
FA46 FA50 FA46 ⅶ Ⅶ ⅶ
FA47 FA51 FA47 ⅷ Ⅷ ⅷ
FA48 FA52 FA48 ⅸ Ⅸ ⅸ
FA49 FA53 FA49
FA4A FA4A FA40
FA4B FA4B FA41 Ⅱ Ⅱ ⅱ
FA4C FA4C FA42 Ⅲ Ⅲ ⅲ
FA4D FA4D FA43 Ⅳ Ⅳ ⅳ
FA4E FA4E FA44
FA4F FA4F FA45 Ⅵ Ⅵ ⅵ
FA50 FA50 FA46 Ⅶ Ⅶ ⅶ
FA51 FA51 FA47 Ⅷ Ⅷ ⅷ
FA52 FA52 FA48 Ⅸ Ⅸ ⅸ
FA53 FA53 FA49
SELECT * FROM t1
WHERE HEX(CAST(LOWER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(LOWER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
code a
81F0 Å
SELECT * FROM t1
WHERE HEX(CAST(UPPER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(UPPER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
code a
DROP TABLE t1;
#
# End of 5.5 tests
#

View file

@ -9859,3 +9859,567 @@ hex(convert(_eucjpms 0xA5FE41 using ucs2))
select hex(convert(_eucjpms 0x8FABF841 using ucs2));
hex(convert(_eucjpms 0x8FABF841 using ucs2))
003F0041
#
# Start of 5.5 tests
#
#
# Testing WL#4583 Case conversion in Asian character sets
#
SET NAMES utf8;
SET collation_connection=eucjpms_japanese_ci;
CREATE TABLE t1 (b VARCHAR(2));
INSERT INTO t1 VALUES ('0'),('1'),('2'),('3'),('4'),('5'),('6'),('7');
INSERT INTO t1 VALUES ('8'),('9'),('A'),('B'),('C'),('D'),('E'),('F');
CREATE TEMPORARY TABLE head AS SELECT concat(b1.b, b2.b) AS head FROM t1 b1, t1 b2;
CREATE TEMPORARY TABLE tail AS SELECT concat(b1.b, b2.b) AS tail FROM t1 b1, t1 b2;
DROP TABLE t1;
CREATE TABLE t1 AS SELECT 'XXXXXX' AS code, ' ' AS a LIMIT 0;
INSERT INTO t1 (code) SELECT concat('8E', head) FROM head
WHERE (head BETWEEN 'A1' AND 'DF') ORDER BY head;
INSERT INTO t1 (code) SELECT concat(head, tail)
FROM head, tail
WHERE (head BETWEEN '80' AND 'FF') AND (head NOT BETWEEN '8E' AND '8F')
AND (tail BETWEEN '20' AND 'FF')
ORDER BY head, tail;
INSERT INTO t1 (code) SELECT concat('8F', head, tail)
FROM head, tail
WHERE (head BETWEEN '80' AND 'FF') AND (tail BETWEEN '20' AND 'FF')
ORDER BY head, tail;
DROP TEMPORARY TABLE head, tail;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`code` varchar(6) CHARACTER SET eucjpms NOT NULL DEFAULT '',
`a` varchar(1) CHARACTER SET eucjpms NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
UPDATE t1 SET a=unhex(code) ORDER BY code;
Warnings:
Warning 1366 Incorrect string value: '\x80 ' for column 'a' at row 1
Warning 1366 Incorrect string value: '\x80!' for column 'a' at row 2
Warning 1366 Incorrect string value: '\x80"' for column 'a' at row 3
Warning 1366 Incorrect string value: '\x80#' for column 'a' at row 4
Warning 1366 Incorrect string value: '\x80$' for column 'a' at row 5
Warning 1366 Incorrect string value: '\x80%' for column 'a' at row 6
Warning 1366 Incorrect string value: '\x80&' for column 'a' at row 7
Warning 1366 Incorrect string value: '\x80'' for column 'a' at row 8
Warning 1366 Incorrect string value: '\x80(' for column 'a' at row 9
Warning 1366 Incorrect string value: '\x80)' for column 'a' at row 10
Warning 1366 Incorrect string value: '\x80*' for column 'a' at row 11
Warning 1366 Incorrect string value: '\x80+' for column 'a' at row 12
Warning 1366 Incorrect string value: '\x80,' for column 'a' at row 13
Warning 1366 Incorrect string value: '\x80-' for column 'a' at row 14
Warning 1366 Incorrect string value: '\x80.' for column 'a' at row 15
Warning 1366 Incorrect string value: '\x80/' for column 'a' at row 16
Warning 1366 Incorrect string value: '\x800' for column 'a' at row 17
Warning 1366 Incorrect string value: '\x801' for column 'a' at row 18
Warning 1366 Incorrect string value: '\x802' for column 'a' at row 19
Warning 1366 Incorrect string value: '\x803' for column 'a' at row 20
Warning 1366 Incorrect string value: '\x804' for column 'a' at row 21
Warning 1366 Incorrect string value: '\x805' for column 'a' at row 22
Warning 1366 Incorrect string value: '\x806' for column 'a' at row 23
Warning 1366 Incorrect string value: '\x807' for column 'a' at row 24
Warning 1366 Incorrect string value: '\x808' for column 'a' at row 25
Warning 1366 Incorrect string value: '\x809' for column 'a' at row 26
Warning 1366 Incorrect string value: '\x80:' for column 'a' at row 27
Warning 1366 Incorrect string value: '\x80;' for column 'a' at row 28
Warning 1366 Incorrect string value: '\x80<' for column 'a' at row 29
Warning 1366 Incorrect string value: '\x80=' for column 'a' at row 30
Warning 1366 Incorrect string value: '\x80>' for column 'a' at row 31
Warning 1366 Incorrect string value: '\x80?' for column 'a' at row 32
Warning 1366 Incorrect string value: '\x80@' for column 'a' at row 33
Warning 1366 Incorrect string value: '\x80A' for column 'a' at row 34
Warning 1366 Incorrect string value: '\x80B' for column 'a' at row 35
Warning 1366 Incorrect string value: '\x80C' for column 'a' at row 36
Warning 1366 Incorrect string value: '\x80D' for column 'a' at row 37
Warning 1366 Incorrect string value: '\x80E' for column 'a' at row 38
Warning 1366 Incorrect string value: '\x80F' for column 'a' at row 39
Warning 1366 Incorrect string value: '\x80G' for column 'a' at row 40
Warning 1366 Incorrect string value: '\x80H' for column 'a' at row 41
Warning 1366 Incorrect string value: '\x80I' for column 'a' at row 42
Warning 1366 Incorrect string value: '\x80J' for column 'a' at row 43
Warning 1366 Incorrect string value: '\x80K' for column 'a' at row 44
Warning 1366 Incorrect string value: '\x80L' for column 'a' at row 45
Warning 1366 Incorrect string value: '\x80M' for column 'a' at row 46
Warning 1366 Incorrect string value: '\x80N' for column 'a' at row 47
Warning 1366 Incorrect string value: '\x80O' for column 'a' at row 48
Warning 1366 Incorrect string value: '\x80P' for column 'a' at row 49
Warning 1366 Incorrect string value: '\x80Q' for column 'a' at row 50
Warning 1366 Incorrect string value: '\x80R' for column 'a' at row 51
Warning 1366 Incorrect string value: '\x80S' for column 'a' at row 52
Warning 1366 Incorrect string value: '\x80T' for column 'a' at row 53
Warning 1366 Incorrect string value: '\x80U' for column 'a' at row 54
Warning 1366 Incorrect string value: '\x80V' for column 'a' at row 55
Warning 1366 Incorrect string value: '\x80W' for column 'a' at row 56
Warning 1366 Incorrect string value: '\x80X' for column 'a' at row 57
Warning 1366 Incorrect string value: '\x80Y' for column 'a' at row 58
Warning 1366 Incorrect string value: '\x80Z' for column 'a' at row 59
Warning 1366 Incorrect string value: '\x80[' for column 'a' at row 60
Warning 1366 Incorrect string value: '\x80\' for column 'a' at row 61
Warning 1366 Incorrect string value: '\x80]' for column 'a' at row 62
Warning 1366 Incorrect string value: '\x80^' for column 'a' at row 63
Warning 1366 Incorrect string value: '\x80_' for column 'a' at row 64
SELECT COUNT(*) FROM t1;
COUNT(*)
56959
SELECT COUNT(*) FROM t1 WHERE a<>'';
COUNT(*)
17735
SELECT COUNT(*) FROM t1 WHERE a<>'' AND OCTET_LENGTH(a)=2;
COUNT(*)
8899
SELECT * FROM t1 WHERE CHAR_LENGTH(a)=2;
code a
SELECT COUNT(*) FROM t1 WHERE a<>'' AND OCTET_LENGTH(a)=3;
COUNT(*)
8836
SELECT code, hex(upper(a)), hex(lower(a)),a, upper(a), lower(a) FROM t1 WHERE hex(a)<>hex(upper(a)) OR hex(a)<>hex(lower(a)) ORDER BY code;
code hex(upper(a)) hex(lower(a)) a upper(a) lower(a)
8FA6E1 8FA6E1 8FA6F1 Ά Ά ά
8FA6E2 8FA6E2 8FA6F2 Έ Έ έ
8FA6E3 8FA6E3 8FA6F3 Ή Ή ή
8FA6E4 8FA6E4 8FA6F4 Ί Ί ί
8FA6E5 8FA6E5 8FA6F5 Ϊ Ϊ ϊ
8FA6E7 8FA6E7 8FA6F7 Ό Ό ό
8FA6E9 8FA6E9 8FA6F9 Ύ Ύ ύ
8FA6EA 8FA6EA 8FA6FA Ϋ Ϋ ϋ
8FA6EC 8FA6EC 8FA6FC Ώ Ώ ώ
8FA6F1 8FA6E1 8FA6F1 ά Ά ά
8FA6F2 8FA6E2 8FA6F2 έ Έ έ
8FA6F3 8FA6E3 8FA6F3 ή Ή ή
8FA6F4 8FA6E4 8FA6F4 ί Ί ί
8FA6F5 8FA6E5 8FA6F5 ϊ Ϊ ϊ
8FA6F7 8FA6E7 8FA6F7 ό Ό ό
8FA6F8 A6B2 8FA6F8 ς Σ ς
8FA6F9 8FA6E9 8FA6F9 ύ Ύ ύ
8FA6FA 8FA6EA 8FA6FA ϋ Ϋ ϋ
8FA6FC 8FA6EC 8FA6FC ώ Ώ ώ
8FA7C2 8FA7C2 8FA7F2 Ђ Ђ ђ
8FA7C3 8FA7C3 8FA7F3 Ѓ Ѓ ѓ
8FA7C4 8FA7C4 8FA7F4 Є Є є
8FA7C5 8FA7C5 8FA7F5 Ѕ Ѕ ѕ
8FA7C6 8FA7C6 8FA7F6 І І і
8FA7C7 8FA7C7 8FA7F7 Ї Ї ї
8FA7C8 8FA7C8 8FA7F8 Ј Ј ј
8FA7C9 8FA7C9 8FA7F9 Љ Љ љ
8FA7CA 8FA7CA 8FA7FA Њ Њ њ
8FA7CB 8FA7CB 8FA7FB Ћ Ћ ћ
8FA7CC 8FA7CC 8FA7FC Ќ Ќ ќ
8FA7CD 8FA7CD 8FA7FD Ў Ў ў
8FA7CE 8FA7CE 8FA7FE Џ Џ џ
8FA7F2 8FA7C2 8FA7F2 ђ Ђ ђ
8FA7F3 8FA7C3 8FA7F3 ѓ Ѓ ѓ
8FA7F4 8FA7C4 8FA7F4 є Є є
8FA7F5 8FA7C5 8FA7F5 ѕ Ѕ ѕ
8FA7F6 8FA7C6 8FA7F6 і І і
8FA7F7 8FA7C7 8FA7F7 ї Ї ї
8FA7F8 8FA7C8 8FA7F8 ј Ј ј
8FA7F9 8FA7C9 8FA7F9 љ Љ љ
8FA7FA 8FA7CA 8FA7FA њ Њ њ
8FA7FB 8FA7CB 8FA7FB ћ Ћ ћ
8FA7FC 8FA7CC 8FA7FC ќ Ќ ќ
8FA7FD 8FA7CD 8FA7FD ў Ў ў
8FA7FE 8FA7CE 8FA7FE џ Џ џ
8FA9A1 8FA9A1 8FA9C1 Æ Æ æ
8FA9A2 8FA9A2 8FA9C2 Đ Đ đ
8FA9A4 8FA9A4 8FA9C4 Ħ Ħ ħ
8FA9A6 8FA9A6 8FA9C6 IJ IJ ij
8FA9A8 8FA9A8 8FA9C8 Ł Ł ł
8FA9A9 8FA9A9 8FA9C9 Ŀ Ŀ ŀ
8FA9AB 8FA9AB 8FA9CB Ŋ Ŋ ŋ
8FA9AC 8FA9AC 8FA9CC Ø Ø ø
8FA9AD 8FA9AD 8FA9CD Œ Œ œ
8FA9AF 8FA9AF 8FA9CF Ŧ Ŧ ŧ
8FA9B0 8FA9B0 8FA9D0 Þ Þ þ
8FA9C1 8FA9A1 8FA9C1 æ Æ æ
8FA9C2 8FA9A2 8FA9C2 đ Đ đ
8FA9C4 8FA9A4 8FA9C4 ħ Ħ ħ
8FA9C5 49 8FA9C5 ı I ı
8FA9C6 8FA9A6 8FA9C6 ij IJ ij
8FA9C8 8FA9A8 8FA9C8 ł Ł ł
8FA9C9 8FA9A9 8FA9C9 ŀ Ŀ ŀ
8FA9CB 8FA9AB 8FA9CB ŋ Ŋ ŋ
8FA9CC 8FA9AC 8FA9CC ø Ø ø
8FA9CD 8FA9AD 8FA9CD œ Œ œ
8FA9CF 8FA9AF 8FA9CF ŧ Ŧ ŧ
8FA9D0 8FA9B0 8FA9D0 þ Þ þ
8FAAA1 8FAAA1 8FABA1 Á Á á
8FAAA2 8FAAA2 8FABA2 À À à
8FAAA3 8FAAA3 8FABA3 Ä Ä ä
8FAAA4 8FAAA4 8FABA4 Â Â â
8FAAA5 8FAAA5 8FABA5 Ă Ă ă
8FAAA6 8FAAA6 8FABA6 Ǎ Ǎ ǎ
8FAAA7 8FAAA7 8FABA7 Ā Ā ā
8FAAA8 8FAAA8 8FABA8 Ą Ą ą
8FAAA9 8FAAA9 8FABA9 Å Å å
8FAAAA 8FAAAA 8FABAA Ã Ã ã
8FAAAB 8FAAAB 8FABAB Ć Ć ć
8FAAAC 8FAAAC 8FABAC Ĉ Ĉ ĉ
8FAAAD 8FAAAD 8FABAD Č Č č
8FAAAE 8FAAAE 8FABAE Ç Ç ç
8FAAAF 8FAAAF 8FABAF Ċ Ċ ċ
8FAAB0 8FAAB0 8FABB0 Ď Ď ď
8FAAB1 8FAAB1 8FABB1 É É é
8FAAB2 8FAAB2 8FABB2 È È è
8FAAB3 8FAAB3 8FABB3 Ë Ë ë
8FAAB4 8FAAB4 8FABB4 Ê Ê ê
8FAAB5 8FAAB5 8FABB5 Ě Ě ě
8FAAB6 8FAAB6 8FABB6 Ė Ė ė
8FAAB7 8FAAB7 8FABB7 Ē Ē ē
8FAAB8 8FAAB8 8FABB8 Ę Ę ę
8FAABA 8FAABA 8FABBA Ĝ Ĝ ĝ
8FAABB 8FAABB 8FABBB Ğ Ğ ğ
8FAABD 8FAABD 8FABBD Ġ Ġ ġ
8FAABE 8FAABE 8FABBE Ĥ Ĥ ĥ
8FAABF 8FAABF 8FABBF Í Í í
8FAAC0 8FAAC0 8FABC0 Ì Ì ì
8FAAC1 8FAAC1 8FABC1 Ï Ï ï
8FAAC2 8FAAC2 8FABC2 Î Î î
8FAAC3 8FAAC3 8FABC3 Ǐ Ǐ ǐ
8FAAC4 8FAAC4 69 İ İ i
8FAAC5 8FAAC5 8FABC5 Ī Ī ī
8FAAC6 8FAAC6 8FABC6 Į Į į
8FAAC7 8FAAC7 8FABC7 Ĩ Ĩ ĩ
8FAAC8 8FAAC8 8FABC8 Ĵ Ĵ ĵ
8FAAC9 8FAAC9 8FABC9 Ķ Ķ ķ
8FAACA 8FAACA 8FABCA Ĺ Ĺ ĺ
8FAACB 8FAACB 8FABCB Ľ Ľ ľ
8FAACC 8FAACC 8FABCC Ļ Ļ ļ
8FAACD 8FAACD 8FABCD Ń Ń ń
8FAACE 8FAACE 8FABCE Ň Ň ň
8FAACF 8FAACF 8FABCF Ņ Ņ ņ
8FAAD0 8FAAD0 8FABD0 Ñ Ñ ñ
8FAAD1 8FAAD1 8FABD1 Ó Ó ó
8FAAD2 8FAAD2 8FABD2 Ò Ò ò
8FAAD3 8FAAD3 8FABD3 Ö Ö ö
8FAAD4 8FAAD4 8FABD4 Ô Ô ô
8FAAD5 8FAAD5 8FABD5 Ǒ Ǒ ǒ
8FAAD6 8FAAD6 8FABD6 Ő Ő ő
8FAAD7 8FAAD7 8FABD7 Ō Ō ō
8FAAD8 8FAAD8 8FABD8 Õ Õ õ
8FAAD9 8FAAD9 8FABD9 Ŕ Ŕ ŕ
8FAADA 8FAADA 8FABDA Ř Ř ř
8FAADB 8FAADB 8FABDB Ŗ Ŗ ŗ
8FAADC 8FAADC 8FABDC Ś Ś ś
8FAADD 8FAADD 8FABDD Ŝ Ŝ ŝ
8FAADE 8FAADE 8FABDE Š Š š
8FAADF 8FAADF 8FABDF Ş Ş ş
8FAAE0 8FAAE0 8FABE0 Ť Ť ť
8FAAE1 8FAAE1 8FABE1 Ţ Ţ ţ
8FAAE2 8FAAE2 8FABE2 Ú Ú ú
8FAAE3 8FAAE3 8FABE3 Ù Ù ù
8FAAE4 8FAAE4 8FABE4 Ü Ü ü
8FAAE5 8FAAE5 8FABE5 Û Û û
8FAAE6 8FAAE6 8FABE6 Ŭ Ŭ ŭ
8FAAE7 8FAAE7 8FABE7 Ǔ Ǔ ǔ
8FAAE8 8FAAE8 8FABE8 Ű Ű ű
8FAAE9 8FAAE9 8FABE9 Ū Ū ū
8FAAEA 8FAAEA 8FABEA Ų Ų ų
8FAAEB 8FAAEB 8FABEB Ů Ů ů
8FAAEC 8FAAEC 8FABEC Ũ Ũ ũ
8FAAED 8FAAED 8FABED Ǘ Ǘ ǘ
8FAAEE 8FAAEE 8FABEE Ǜ Ǜ ǜ
8FAAEF 8FAAEF 8FABEF Ǚ Ǚ ǚ
8FAAF0 8FAAF0 8FABF0 Ǖ Ǖ ǖ
8FAAF1 8FAAF1 8FABF1 Ŵ Ŵ ŵ
8FAAF2 8FAAF2 8FABF2 Ý Ý ý
8FAAF3 8FAAF3 8FABF3 Ÿ Ÿ ÿ
8FAAF4 8FAAF4 8FABF4 Ŷ Ŷ ŷ
8FAAF5 8FAAF5 8FABF5 Ź Ź ź
8FAAF6 8FAAF6 8FABF6 Ž Ž ž
8FAAF7 8FAAF7 8FABF7 Ż Ż ż
8FABA1 8FAAA1 8FABA1 á Á á
8FABA2 8FAAA2 8FABA2 à À à
8FABA3 8FAAA3 8FABA3 ä Ä ä
8FABA4 8FAAA4 8FABA4 â Â â
8FABA5 8FAAA5 8FABA5 ă Ă ă
8FABA6 8FAAA6 8FABA6 ǎ Ǎ ǎ
8FABA7 8FAAA7 8FABA7 ā Ā ā
8FABA8 8FAAA8 8FABA8 ą Ą ą
8FABA9 8FAAA9 8FABA9 å Å å
8FABAA 8FAAAA 8FABAA ã Ã ã
8FABAB 8FAAAB 8FABAB ć Ć ć
8FABAC 8FAAAC 8FABAC ĉ Ĉ ĉ
8FABAD 8FAAAD 8FABAD č Č č
8FABAE 8FAAAE 8FABAE ç Ç ç
8FABAF 8FAAAF 8FABAF ċ Ċ ċ
8FABB0 8FAAB0 8FABB0 ď Ď ď
8FABB1 8FAAB1 8FABB1 é É é
8FABB2 8FAAB2 8FABB2 è È è
8FABB3 8FAAB3 8FABB3 ë Ë ë
8FABB4 8FAAB4 8FABB4 ê Ê ê
8FABB5 8FAAB5 8FABB5 ě Ě ě
8FABB6 8FAAB6 8FABB6 ė Ė ė
8FABB7 8FAAB7 8FABB7 ē Ē ē
8FABB8 8FAAB8 8FABB8 ę Ę ę
8FABBA 8FAABA 8FABBA ĝ Ĝ ĝ
8FABBB 8FAABB 8FABBB ğ Ğ ğ
8FABBD 8FAABD 8FABBD ġ Ġ ġ
8FABBE 8FAABE 8FABBE ĥ Ĥ ĥ
8FABBF 8FAABF 8FABBF í Í í
8FABC0 8FAAC0 8FABC0 ì Ì ì
8FABC1 8FAAC1 8FABC1 ï Ï ï
8FABC2 8FAAC2 8FABC2 î Î î
8FABC3 8FAAC3 8FABC3 ǐ Ǐ ǐ
8FABC5 8FAAC5 8FABC5 ī Ī ī
8FABC6 8FAAC6 8FABC6 į Į į
8FABC7 8FAAC7 8FABC7 ĩ Ĩ ĩ
8FABC8 8FAAC8 8FABC8 ĵ Ĵ ĵ
8FABC9 8FAAC9 8FABC9 ķ Ķ ķ
8FABCA 8FAACA 8FABCA ĺ Ĺ ĺ
8FABCB 8FAACB 8FABCB ľ Ľ ľ
8FABCC 8FAACC 8FABCC ļ Ļ ļ
8FABCD 8FAACD 8FABCD ń Ń ń
8FABCE 8FAACE 8FABCE ň Ň ň
8FABCF 8FAACF 8FABCF ņ Ņ ņ
8FABD0 8FAAD0 8FABD0 ñ Ñ ñ
8FABD1 8FAAD1 8FABD1 ó Ó ó
8FABD2 8FAAD2 8FABD2 ò Ò ò
8FABD3 8FAAD3 8FABD3 ö Ö ö
8FABD4 8FAAD4 8FABD4 ô Ô ô
8FABD5 8FAAD5 8FABD5 ǒ Ǒ ǒ
8FABD6 8FAAD6 8FABD6 ő Ő ő
8FABD7 8FAAD7 8FABD7 ō Ō ō
8FABD8 8FAAD8 8FABD8 õ Õ õ
8FABD9 8FAAD9 8FABD9 ŕ Ŕ ŕ
8FABDA 8FAADA 8FABDA ř Ř ř
8FABDB 8FAADB 8FABDB ŗ Ŗ ŗ
8FABDC 8FAADC 8FABDC ś Ś ś
8FABDD 8FAADD 8FABDD ŝ Ŝ ŝ
8FABDE 8FAADE 8FABDE š Š š
8FABDF 8FAADF 8FABDF ş Ş ş
8FABE0 8FAAE0 8FABE0 ť Ť ť
8FABE1 8FAAE1 8FABE1 ţ Ţ ţ
8FABE2 8FAAE2 8FABE2 ú Ú ú
8FABE3 8FAAE3 8FABE3 ù Ù ù
8FABE4 8FAAE4 8FABE4 ü Ü ü
8FABE5 8FAAE5 8FABE5 û Û û
8FABE6 8FAAE6 8FABE6 ŭ Ŭ ŭ
8FABE7 8FAAE7 8FABE7 ǔ Ǔ ǔ
8FABE8 8FAAE8 8FABE8 ű Ű ű
8FABE9 8FAAE9 8FABE9 ū Ū ū
8FABEA 8FAAEA 8FABEA ų Ų ų
8FABEB 8FAAEB 8FABEB ů Ů ů
8FABEC 8FAAEC 8FABEC ũ Ũ ũ
8FABED 8FAAED 8FABED ǘ Ǘ ǘ
8FABEE 8FAAEE 8FABEE ǜ Ǜ ǜ
8FABEF 8FAAEF 8FABEF ǚ Ǚ ǚ
8FABF0 8FAAF0 8FABF0 ǖ Ǖ ǖ
8FABF1 8FAAF1 8FABF1 ŵ Ŵ ŵ
8FABF2 8FAAF2 8FABF2 ý Ý ý
8FABF3 8FAAF3 8FABF3 ÿ Ÿ ÿ
8FABF4 8FAAF4 8FABF4 ŷ Ŷ ŷ
8FABF5 8FAAF5 8FABF5 ź Ź ź
8FABF6 8FAAF6 8FABF6 ž Ž ž
8FABF7 8FAAF7 8FABF7 ż Ż ż
8FF3F3 8FF3FD 8FF3F3
8FF3F4 8FF3FE 8FF3F4 ⅱ Ⅱ ⅱ
8FF3F5 8FF4A1 8FF3F5 ⅲ Ⅲ ⅲ
8FF3F6 8FF4A2 8FF3F6 ⅳ Ⅳ ⅳ
8FF3F7 8FF4A3 8FF3F7
8FF3F8 8FF4A4 8FF3F8 ⅵ Ⅵ ⅵ
8FF3F9 8FF4A5 8FF3F9 ⅶ Ⅶ ⅶ
8FF3FA 8FF4A6 8FF3FA ⅷ Ⅷ ⅷ
8FF3FB 8FF4A7 8FF3FB ⅸ Ⅸ ⅸ
8FF3FC 8FF4A8 8FF3FC
8FF3FD 8FF3FD 8FF3F3
8FF3FE 8FF3FE 8FF3F4 Ⅱ Ⅱ ⅱ
8FF4A1 8FF4A1 8FF3F5 Ⅲ Ⅲ ⅲ
8FF4A2 8FF4A2 8FF3F6 Ⅳ Ⅳ ⅳ
8FF4A3 8FF4A3 8FF3F7
8FF4A4 8FF4A4 8FF3F8 Ⅵ Ⅵ ⅵ
8FF4A5 8FF4A5 8FF3F9 Ⅶ Ⅶ ⅶ
8FF4A6 8FF4A6 8FF3FA Ⅷ Ⅷ ⅷ
8FF4A7 8FF4A7 8FF3FB Ⅸ Ⅸ ⅸ
8FF4A8 8FF4A8 8FF3FC
A2F2 A2F2 8FABA9 Å Å å
A3C1 A3C1 A3E1
A3C2 A3C2 A3E2
A3C3 A3C3 A3E3
A3C4 A3C4 A3E4
A3C5 A3C5 A3E5
A3C6 A3C6 A3E6
A3C7 A3C7 A3E7
A3C8 A3C8 A3E8
A3C9 A3C9 A3E9
A3CA A3CA A3EA
A3CB A3CB A3EB
A3CC A3CC A3EC
A3CD A3CD A3ED
A3CE A3CE A3EE
A3CF A3CF A3EF
A3D0 A3D0 A3F0
A3D1 A3D1 A3F1
A3D2 A3D2 A3F2
A3D3 A3D3 A3F3
A3D4 A3D4 A3F4
A3D5 A3D5 A3F5
A3D6 A3D6 A3F6
A3D7 A3D7 A3F7
A3D8 A3D8 A3F8
A3D9 A3D9 A3F9
A3DA A3DA A3FA
A3E1 A3C1 A3E1
A3E2 A3C2 A3E2
A3E3 A3C3 A3E3
A3E4 A3C4 A3E4
A3E5 A3C5 A3E5
A3E6 A3C6 A3E6
A3E7 A3C7 A3E7
A3E8 A3C8 A3E8
A3E9 A3C9 A3E9
A3EA A3CA A3EA
A3EB A3CB A3EB
A3EC A3CC A3EC
A3ED A3CD A3ED
A3EE A3CE A3EE
A3EF A3CF A3EF
A3F0 A3D0 A3F0
A3F1 A3D1 A3F1
A3F2 A3D2 A3F2
A3F3 A3D3 A3F3
A3F4 A3D4 A3F4
A3F5 A3D5 A3F5
A3F6 A3D6 A3F6
A3F7 A3D7 A3F7
A3F8 A3D8 A3F8
A3F9 A3D9 A3F9
A3FA A3DA A3FA
A6A1 A6A1 A6C1 Α Α α
A6A2 A6A2 A6C2 Β Β β
A6A3 A6A3 A6C3 Γ Γ γ
A6A4 A6A4 A6C4 Δ Δ δ
A6A5 A6A5 A6C5 Ε Ε ε
A6A6 A6A6 A6C6 Ζ Ζ ζ
A6A7 A6A7 A6C7 Η Η η
A6A8 A6A8 A6C8 Θ Θ θ
A6A9 A6A9 A6C9 Ι Ι ι
A6AA A6AA A6CA Κ Κ κ
A6AB A6AB A6CB Λ Λ λ
A6AC A6AC A6CC Μ Μ μ
A6AD A6AD A6CD Ν Ν ν
A6AE A6AE A6CE Ξ Ξ ξ
A6AF A6AF A6CF Ο Ο ο
A6B0 A6B0 A6D0 Π Π π
A6B1 A6B1 A6D1 Ρ Ρ ρ
A6B2 A6B2 A6D2 Σ Σ σ
A6B3 A6B3 A6D3 Τ Τ τ
A6B4 A6B4 A6D4 Υ Υ υ
A6B5 A6B5 A6D5 Φ Φ φ
A6B6 A6B6 A6D6 Χ Χ χ
A6B7 A6B7 A6D7 Ψ Ψ ψ
A6B8 A6B8 A6D8 Ω Ω ω
A6C1 A6A1 A6C1 α Α α
A6C2 A6A2 A6C2 β Β β
A6C3 A6A3 A6C3 γ Γ γ
A6C4 A6A4 A6C4 δ Δ δ
A6C5 A6A5 A6C5 ε Ε ε
A6C6 A6A6 A6C6 ζ Ζ ζ
A6C7 A6A7 A6C7 η Η η
A6C8 A6A8 A6C8 θ Θ θ
A6C9 A6A9 A6C9 ι Ι ι
A6CA A6AA A6CA κ Κ κ
A6CB A6AB A6CB λ Λ λ
A6CC A6AC A6CC μ Μ μ
A6CD A6AD A6CD ν Ν ν
A6CE A6AE A6CE ξ Ξ ξ
A6CF A6AF A6CF ο Ο ο
A6D0 A6B0 A6D0 π Π π
A6D1 A6B1 A6D1 ρ Ρ ρ
A6D2 A6B2 A6D2 σ Σ σ
A6D3 A6B3 A6D3 τ Τ τ
A6D4 A6B4 A6D4 υ Υ υ
A6D5 A6B5 A6D5 φ Φ φ
A6D6 A6B6 A6D6 χ Χ χ
A6D7 A6B7 A6D7 ψ Ψ ψ
A6D8 A6B8 A6D8 ω Ω ω
A7A1 A7A1 A7D1 А А а
A7A2 A7A2 A7D2 Б Б б
A7A3 A7A3 A7D3 В В в
A7A4 A7A4 A7D4 Г Г г
A7A5 A7A5 A7D5 Д Д д
A7A6 A7A6 A7D6 Е Е е
A7A7 A7A7 A7D7 Ё Ё ё
A7A8 A7A8 A7D8 Ж Ж ж
A7A9 A7A9 A7D9 З З з
A7AA A7AA A7DA И И и
A7AB A7AB A7DB Й Й й
A7AC A7AC A7DC К К к
A7AD A7AD A7DD Л Л л
A7AE A7AE A7DE М М м
A7AF A7AF A7DF Н Н н
A7B0 A7B0 A7E0 О О о
A7B1 A7B1 A7E1 П П п
A7B2 A7B2 A7E2 Р Р р
A7B3 A7B3 A7E3 С С с
A7B4 A7B4 A7E4 Т Т т
A7B5 A7B5 A7E5 У У у
A7B6 A7B6 A7E6 Ф Ф ф
A7B7 A7B7 A7E7 Х Х х
A7B8 A7B8 A7E8 Ц Ц ц
A7B9 A7B9 A7E9 Ч Ч ч
A7BA A7BA A7EA Ш Ш ш
A7BB A7BB A7EB Щ Щ щ
A7BC A7BC A7EC Ъ Ъ ъ
A7BD A7BD A7ED Ы Ы ы
A7BE A7BE A7EE Ь Ь ь
A7BF A7BF A7EF Э Э э
A7C0 A7C0 A7F0 Ю Ю ю
A7C1 A7C1 A7F1 Я Я я
A7D1 A7A1 A7D1 а А а
A7D2 A7A2 A7D2 б Б б
A7D3 A7A3 A7D3 в В в
A7D4 A7A4 A7D4 г Г г
A7D5 A7A5 A7D5 д Д д
A7D6 A7A6 A7D6 е Е е
A7D7 A7A7 A7D7 ё Ё ё
A7D8 A7A8 A7D8 ж Ж ж
A7D9 A7A9 A7D9 з З з
A7DA A7AA A7DA и И и
A7DB A7AB A7DB й Й й
A7DC A7AC A7DC к К к
A7DD A7AD A7DD л Л л
A7DE A7AE A7DE м М м
A7DF A7AF A7DF н Н н
A7E0 A7B0 A7E0 о О о
A7E1 A7B1 A7E1 п П п
A7E2 A7B2 A7E2 р Р р
A7E3 A7B3 A7E3 с С с
A7E4 A7B4 A7E4 т Т т
A7E5 A7B5 A7E5 у У у
A7E6 A7B6 A7E6 ф Ф ф
A7E7 A7B7 A7E7 х Х х
A7E8 A7B8 A7E8 ц Ц ц
A7E9 A7B9 A7E9 ч Ч ч
A7EA A7BA A7EA ш Ш ш
A7EB A7BB A7EB щ Щ щ
A7EC A7BC A7EC ъ Ъ ъ
A7ED A7BD A7ED ы Ы ы
A7EE A7BE A7EE ь Ь ь
A7EF A7BF A7EF э Э э
A7F0 A7C0 A7F0 ю Ю ю
A7F1 A7C1 A7F1 я Я я
ADB5 ADB5 8FF3F3
ADB6 ADB6 8FF3F4 Ⅱ Ⅱ ⅱ
ADB7 ADB7 8FF3F5 Ⅲ Ⅲ ⅲ
ADB8 ADB8 8FF3F6 Ⅳ Ⅳ ⅳ
ADB9 ADB9 8FF3F7
ADBA ADBA 8FF3F8 Ⅵ Ⅵ ⅵ
ADBB ADBB 8FF3F9 Ⅶ Ⅶ ⅶ
ADBC ADBC 8FF3FA Ⅷ Ⅷ ⅷ
ADBD ADBD 8FF3FB Ⅸ Ⅸ ⅸ
ADBE ADBE 8FF3FC
SELECT * FROM t1
WHERE HEX(CAST(LOWER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(LOWER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
code a
8FAABC Ģ
SELECT * FROM t1
WHERE HEX(CAST(UPPER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(UPPER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
code a
8FA9C3 ð
8FABB9 ǵ
DROP TABLE t1;
#
# End of 5.5 tests
#

View file

@ -24255,3 +24255,350 @@ FDFD FDFD E7BEB2 FDFD
FDFE FDFE E8A9B0 FDFE
DROP TABLE t1, t2;
End of 5.4 tests
#
# Start of 5.5 tests
#
#
# Testing WL#4583 Case conversion in Asian character sets
#
SET NAMES utf8;
SET collation_connection=euckr_korean_ci;
CREATE TABLE t1 (b VARCHAR(2));
INSERT INTO t1 VALUES ('0'),('1'),('2'),('3'),('4'),('5'),('6'),('7');
INSERT INTO t1 VALUES ('8'),('9'),('A'),('B'),('C'),('D'),('E'),('F');
CREATE TEMPORARY TABLE head AS SELECT concat(b1.b, b2.b) AS head FROM t1 b1, t1 b2;
CREATE TEMPORARY TABLE tail AS SELECT concat(b1.b, b2.b) AS tail FROM t1 b1, t1 b2;
DROP TABLE t1;
CREATE TABLE t1 AS
SELECT concat(head, tail) AS code, ' ' AS a
FROM head, tail
WHERE (head BETWEEN '80' AND 'FF') AND (tail BETWEEN '20' AND 'FF')
ORDER BY head, tail;
DROP TEMPORARY TABLE head, tail;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`code` varchar(8) DEFAULT NULL,
`a` varchar(1) CHARACTER SET euckr NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
UPDATE t1 SET a=unhex(code) ORDER BY code;
Warnings:
Warning 1366 Incorrect string value: '\x80 ' for column 'a' at row 1
Warning 1366 Incorrect string value: '\x80!' for column 'a' at row 2
Warning 1366 Incorrect string value: '\x80"' for column 'a' at row 3
Warning 1366 Incorrect string value: '\x80#' for column 'a' at row 4
Warning 1366 Incorrect string value: '\x80$' for column 'a' at row 5
Warning 1366 Incorrect string value: '\x80%' for column 'a' at row 6
Warning 1366 Incorrect string value: '\x80&' for column 'a' at row 7
Warning 1366 Incorrect string value: '\x80'' for column 'a' at row 8
Warning 1366 Incorrect string value: '\x80(' for column 'a' at row 9
Warning 1366 Incorrect string value: '\x80)' for column 'a' at row 10
Warning 1366 Incorrect string value: '\x80*' for column 'a' at row 11
Warning 1366 Incorrect string value: '\x80+' for column 'a' at row 12
Warning 1366 Incorrect string value: '\x80,' for column 'a' at row 13
Warning 1366 Incorrect string value: '\x80-' for column 'a' at row 14
Warning 1366 Incorrect string value: '\x80.' for column 'a' at row 15
Warning 1366 Incorrect string value: '\x80/' for column 'a' at row 16
Warning 1366 Incorrect string value: '\x800' for column 'a' at row 17
Warning 1366 Incorrect string value: '\x801' for column 'a' at row 18
Warning 1366 Incorrect string value: '\x802' for column 'a' at row 19
Warning 1366 Incorrect string value: '\x803' for column 'a' at row 20
Warning 1366 Incorrect string value: '\x804' for column 'a' at row 21
Warning 1366 Incorrect string value: '\x805' for column 'a' at row 22
Warning 1366 Incorrect string value: '\x806' for column 'a' at row 23
Warning 1366 Incorrect string value: '\x807' for column 'a' at row 24
Warning 1366 Incorrect string value: '\x808' for column 'a' at row 25
Warning 1366 Incorrect string value: '\x809' for column 'a' at row 26
Warning 1366 Incorrect string value: '\x80:' for column 'a' at row 27
Warning 1366 Incorrect string value: '\x80;' for column 'a' at row 28
Warning 1366 Incorrect string value: '\x80<' for column 'a' at row 29
Warning 1366 Incorrect string value: '\x80=' for column 'a' at row 30
Warning 1366 Incorrect string value: '\x80>' for column 'a' at row 31
Warning 1366 Incorrect string value: '\x80?' for column 'a' at row 32
Warning 1366 Incorrect string value: '\x80@' for column 'a' at row 33
Warning 1366 Incorrect string value: '\x80A' for column 'a' at row 34
Warning 1366 Incorrect string value: '\x80B' for column 'a' at row 35
Warning 1366 Incorrect string value: '\x80C' for column 'a' at row 36
Warning 1366 Incorrect string value: '\x80D' for column 'a' at row 37
Warning 1366 Incorrect string value: '\x80E' for column 'a' at row 38
Warning 1366 Incorrect string value: '\x80F' for column 'a' at row 39
Warning 1366 Incorrect string value: '\x80G' for column 'a' at row 40
Warning 1366 Incorrect string value: '\x80H' for column 'a' at row 41
Warning 1366 Incorrect string value: '\x80I' for column 'a' at row 42
Warning 1366 Incorrect string value: '\x80J' for column 'a' at row 43
Warning 1366 Incorrect string value: '\x80K' for column 'a' at row 44
Warning 1366 Incorrect string value: '\x80L' for column 'a' at row 45
Warning 1366 Incorrect string value: '\x80M' for column 'a' at row 46
Warning 1366 Incorrect string value: '\x80N' for column 'a' at row 47
Warning 1366 Incorrect string value: '\x80O' for column 'a' at row 48
Warning 1366 Incorrect string value: '\x80P' for column 'a' at row 49
Warning 1366 Incorrect string value: '\x80Q' for column 'a' at row 50
Warning 1366 Incorrect string value: '\x80R' for column 'a' at row 51
Warning 1366 Incorrect string value: '\x80S' for column 'a' at row 52
Warning 1366 Incorrect string value: '\x80T' for column 'a' at row 53
Warning 1366 Incorrect string value: '\x80U' for column 'a' at row 54
Warning 1366 Incorrect string value: '\x80V' for column 'a' at row 55
Warning 1366 Incorrect string value: '\x80W' for column 'a' at row 56
Warning 1366 Incorrect string value: '\x80X' for column 'a' at row 57
Warning 1366 Incorrect string value: '\x80Y' for column 'a' at row 58
Warning 1366 Incorrect string value: '\x80Z' for column 'a' at row 59
Warning 1366 Incorrect string value: '\x80[' for column 'a' at row 60
Warning 1366 Incorrect string value: '\x80\' for column 'a' at row 61
Warning 1366 Incorrect string value: '\x80]' for column 'a' at row 62
Warning 1366 Incorrect string value: '\x80^' for column 'a' at row 63
Warning 1366 Incorrect string value: '\x80_' for column 'a' at row 64
SELECT COUNT(*) FROM t1 WHERE a<>'';
COUNT(*)
22428
SELECT code, hex(upper(a)), hex(lower(a)),a, upper(a), lower(a) FROM t1 WHERE hex(a)<>hex(upper(a)) OR hex(a)<>hex(lower(a));
code hex(upper(a)) hex(lower(a)) a upper(a) lower(a)
A3C1 A3C1 A3E1
A3C2 A3C2 A3E2
A3C3 A3C3 A3E3
A3C4 A3C4 A3E4
A3C5 A3C5 A3E5
A3C6 A3C6 A3E6
A3C7 A3C7 A3E7
A3C8 A3C8 A3E8
A3C9 A3C9 A3E9
A3CA A3CA A3EA
A3CB A3CB A3EB
A3CC A3CC A3EC
A3CD A3CD A3ED
A3CE A3CE A3EE
A3CF A3CF A3EF
A3D0 A3D0 A3F0
A3D1 A3D1 A3F1
A3D2 A3D2 A3F2
A3D3 A3D3 A3F3
A3D4 A3D4 A3F4
A3D5 A3D5 A3F5
A3D6 A3D6 A3F6
A3D7 A3D7 A3F7
A3D8 A3D8 A3F8
A3D9 A3D9 A3F9
A3DA A3DA A3FA
A3E1 A3C1 A3E1
A3E2 A3C2 A3E2
A3E3 A3C3 A3E3
A3E4 A3C4 A3E4
A3E5 A3C5 A3E5
A3E6 A3C6 A3E6
A3E7 A3C7 A3E7
A3E8 A3C8 A3E8
A3E9 A3C9 A3E9
A3EA A3CA A3EA
A3EB A3CB A3EB
A3EC A3CC A3EC
A3ED A3CD A3ED
A3EE A3CE A3EE
A3EF A3CF A3EF
A3F0 A3D0 A3F0
A3F1 A3D1 A3F1
A3F2 A3D2 A3F2
A3F3 A3D3 A3F3
A3F4 A3D4 A3F4
A3F5 A3D5 A3F5
A3F6 A3D6 A3F6
A3F7 A3D7 A3F7
A3F8 A3D8 A3F8
A3F9 A3D9 A3F9
A3FA A3DA A3FA
A5A1 A5B0 A5A1
A5A2 A5B1 A5A2 ⅱ Ⅱ ⅱ
A5A3 A5B2 A5A3 ⅲ Ⅲ ⅲ
A5A4 A5B3 A5A4 ⅳ Ⅳ ⅳ
A5A5 A5B4 A5A5
A5A6 A5B5 A5A6 ⅵ Ⅵ ⅵ
A5A7 A5B6 A5A7 ⅶ Ⅶ ⅶ
A5A8 A5B7 A5A8 ⅷ Ⅷ ⅷ
A5A9 A5B8 A5A9 ⅸ Ⅸ ⅸ
A5AA A5B9 A5AA
A5B0 A5B0 A5A1
A5B1 A5B1 A5A2 Ⅱ Ⅱ ⅱ
A5B2 A5B2 A5A3 Ⅲ Ⅲ ⅲ
A5B3 A5B3 A5A4 Ⅳ Ⅳ ⅳ
A5B4 A5B4 A5A5
A5B5 A5B5 A5A6 Ⅵ Ⅵ ⅵ
A5B6 A5B6 A5A7 Ⅶ Ⅶ ⅶ
A5B7 A5B7 A5A8 Ⅷ Ⅷ ⅷ
A5B8 A5B8 A5A9 Ⅸ Ⅸ ⅸ
A5B9 A5B9 A5AA
A5C1 A5C1 A5E1 Α Α α
A5C2 A5C2 A5E2 Β Β β
A5C3 A5C3 A5E3 Γ Γ γ
A5C4 A5C4 A5E4 Δ Δ δ
A5C5 A5C5 A5E5 Ε Ε ε
A5C6 A5C6 A5E6 Ζ Ζ ζ
A5C7 A5C7 A5E7 Η Η η
A5C8 A5C8 A5E8 Θ Θ θ
A5C9 A5C9 A5E9 Ι Ι ι
A5CA A5CA A5EA Κ Κ κ
A5CB A5CB A5EB Λ Λ λ
A5CC A5CC A5EC Μ Μ μ
A5CD A5CD A5ED Ν Ν ν
A5CE A5CE A5EE Ξ Ξ ξ
A5CF A5CF A5EF Ο Ο ο
A5D0 A5D0 A5F0 Π Π π
A5D1 A5D1 A5F1 Ρ Ρ ρ
A5D2 A5D2 A5F2 Σ Σ σ
A5D3 A5D3 A5F3 Τ Τ τ
A5D4 A5D4 A5F4 Υ Υ υ
A5D5 A5D5 A5F5 Φ Φ φ
A5D6 A5D6 A5F6 Χ Χ χ
A5D7 A5D7 A5F7 Ψ Ψ ψ
A5D8 A5D8 A5F8 Ω Ω ω
A5E1 A5C1 A5E1 α Α α
A5E2 A5C2 A5E2 β Β β
A5E3 A5C3 A5E3 γ Γ γ
A5E4 A5C4 A5E4 δ Δ δ
A5E5 A5C5 A5E5 ε Ε ε
A5E6 A5C6 A5E6 ζ Ζ ζ
A5E7 A5C7 A5E7 η Η η
A5E8 A5C8 A5E8 θ Θ θ
A5E9 A5C9 A5E9 ι Ι ι
A5EA A5CA A5EA κ Κ κ
A5EB A5CB A5EB λ Λ λ
A5EC A5CC A5EC μ Μ μ
A5ED A5CD A5ED ν Ν ν
A5EE A5CE A5EE ξ Ξ ξ
A5EF A5CF A5EF ο Ο ο
A5F0 A5D0 A5F0 π Π π
A5F1 A5D1 A5F1 ρ Ρ ρ
A5F2 A5D2 A5F2 σ Σ σ
A5F3 A5D3 A5F3 τ Τ τ
A5F4 A5D4 A5F4 υ Υ υ
A5F5 A5D5 A5F5 φ Φ φ
A5F6 A5D6 A5F6 χ Χ χ
A5F7 A5D7 A5F7 ψ Ψ ψ
A5F8 A5D8 A5F8 ω Ω ω
A7D9 A7D9 A5F8 Ω Ω ω
A8A1 A8A1 A9A1 Æ Æ æ
A8A2 A8A2 A9A3 Ð Ð ð
A8A4 A8A4 A9A4 Ħ Ħ ħ
A8A6 A8A6 A9A6 IJ IJ ij
A8A8 A8A8 A9A8 Ŀ Ŀ ŀ
A8A9 A8A9 A9A9 Ł Ł ł
A8AA A8AA A9AA Ø Ø ø
A8AB A8AB A9AB Œ Œ œ
A8AD A8AD A9AD Þ Þ þ
A8AE A8AE A9AE Ŧ Ŧ ŧ
A8AF A8AF A9AF Ŋ Ŋ ŋ
A9A1 A8A1 A9A1 æ Æ æ
A9A3 A8A2 A9A3 ð Ð ð
A9A4 A8A4 A9A4 ħ Ħ ħ
A9A5 49 A9A5 ı I ı
A9A6 A8A6 A9A6 ij IJ ij
A9A8 A8A8 A9A8 ŀ Ŀ ŀ
A9A9 A8A9 A9A9 ł Ł ł
A9AA A8AA A9AA ø Ø ø
A9AB A8AB A9AB œ Œ œ
A9AD A8AD A9AD þ Þ þ
A9AE A8AE A9AE ŧ Ŧ ŧ
A9AF A8AF A9AF ŋ Ŋ ŋ
ACA1 ACA1 ACD1 А А а
ACA2 ACA2 ACD2 Б Б б
ACA3 ACA3 ACD3 В В в
ACA4 ACA4 ACD4 Г Г г
ACA5 ACA5 ACD5 Д Д д
ACA6 ACA6 ACD6 Е Е е
ACA7 ACA7 ACD7 Ё Ё ё
ACA8 ACA8 ACD8 Ж Ж ж
ACA9 ACA9 ACD9 З З з
ACAA ACAA ACDA И И и
ACAB ACAB ACDB Й Й й
ACAC ACAC ACDC К К к
ACAD ACAD ACDD Л Л л
ACAE ACAE ACDE М М м
ACAF ACAF ACDF Н Н н
ACB0 ACB0 ACE0 О О о
ACB1 ACB1 ACE1 П П п
ACB2 ACB2 ACE2 Р Р р
ACB3 ACB3 ACE3 С С с
ACB4 ACB4 ACE4 Т Т т
ACB5 ACB5 ACE5 У У у
ACB6 ACB6 ACE6 Ф Ф ф
ACB7 ACB7 ACE7 Х Х х
ACB8 ACB8 ACE8 Ц Ц ц
ACB9 ACB9 ACE9 Ч Ч ч
ACBA ACBA ACEA Ш Ш ш
ACBB ACBB ACEB Щ Щ щ
ACBC ACBC ACEC Ъ Ъ ъ
ACBD ACBD ACED Ы Ы ы
ACBE ACBE ACEE Ь Ь ь
ACBF ACBF ACEF Э Э э
ACC0 ACC0 ACF0 Ю Ю ю
ACC1 ACC1 ACF1 Я Я я
ACD1 ACA1 ACD1 а А а
ACD2 ACA2 ACD2 б Б б
ACD3 ACA3 ACD3 в В в
ACD4 ACA4 ACD4 г Г г
ACD5 ACA5 ACD5 д Д д
ACD6 ACA6 ACD6 е Е е
ACD7 ACA7 ACD7 ё Ё ё
ACD8 ACA8 ACD8 ж Ж ж
ACD9 ACA9 ACD9 з З з
ACDA ACAA ACDA и И и
ACDB ACAB ACDB й Й й
ACDC ACAC ACDC к К к
ACDD ACAD ACDD л Л л
ACDE ACAE ACDE м М м
ACDF ACAF ACDF н Н н
ACE0 ACB0 ACE0 о О о
ACE1 ACB1 ACE1 п П п
ACE2 ACB2 ACE2 р Р р
ACE3 ACB3 ACE3 с С с
ACE4 ACB4 ACE4 т Т т
ACE5 ACB5 ACE5 у У у
ACE6 ACB6 ACE6 ф Ф ф
ACE7 ACB7 ACE7 х Х х
ACE8 ACB8 ACE8 ц Ц ц
ACE9 ACB9 ACE9 ч Ч ч
ACEA ACBA ACEA ш Ш ш
ACEB ACBB ACEB щ Щ щ
ACEC ACBC ACEC ъ Ъ ъ
ACED ACBD ACED ы Ы ы
ACEE ACBE ACEE ь Ь ь
ACEF ACBF ACEF э Э э
ACF0 ACC0 ACF0 ю Ю ю
ACF1 ACC1 ACF1 я Я я
SELECT * FROM t1
WHERE HEX(CAST(LOWER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(LOWER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
code a
A1CA Å
SELECT * FROM t1
WHERE HEX(CAST(UPPER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(UPPER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
code a
A8CD ⓐ
A8CE ⓑ
A8CF ⓒ
A8D0 ⓓ
A8D1 ⓔ
A8D2 ⓕ
A8D3 ⓖ
A8D4 ⓗ
A8D5 ⓘ
A8D6 ⓙ
A8D7 ⓚ
A8D8 ⓛ
A8D9 ⓜ
A8DA ⓝ
A8DB ⓞ
A8DC ⓟ
A8DD ⓠ
A8DE ⓡ
A8DF ⓢ
A8E0 ⓣ
A8E1 ⓤ
A8E2 ⓥ
A8E3 ⓦ
A8E4 ⓧ
A8E5 ⓨ
A8E6 ⓩ
A9A2 đ
DROP TABLE t1;
#
# End of 5.5 tests
#

View file

@ -235,3 +235,316 @@ hex(a)
A2A1
D7FE
DROP TABLE t1;
#
# Start of 5.5 tests
#
#
# Testing WL#4583 Case conversion in Asian character sets
#
SET NAMES utf8;
SET collation_connection=gb2312_chinese_ci;
CREATE TABLE t1 (b VARCHAR(2));
INSERT INTO t1 VALUES ('0'),('1'),('2'),('3'),('4'),('5'),('6'),('7');
INSERT INTO t1 VALUES ('8'),('9'),('A'),('B'),('C'),('D'),('E'),('F');
CREATE TEMPORARY TABLE head AS SELECT concat(b1.b, b2.b) AS head FROM t1 b1, t1 b2;
CREATE TEMPORARY TABLE tail AS SELECT concat(b1.b, b2.b) AS tail FROM t1 b1, t1 b2;
DROP TABLE t1;
CREATE TABLE t1 AS
SELECT concat(head, tail) AS code, ' ' AS a
FROM head, tail
WHERE (head BETWEEN '80' AND 'FF') AND (tail BETWEEN '20' AND 'FF')
ORDER BY head, tail;
DROP TEMPORARY TABLE head, tail;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`code` varchar(8) DEFAULT NULL,
`a` varchar(1) CHARACTER SET gb2312 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
UPDATE t1 SET a=unhex(code) ORDER BY code;
Warnings:
Warning 1366 Incorrect string value: '\x80 ' for column 'a' at row 1
Warning 1366 Incorrect string value: '\x80!' for column 'a' at row 2
Warning 1366 Incorrect string value: '\x80"' for column 'a' at row 3
Warning 1366 Incorrect string value: '\x80#' for column 'a' at row 4
Warning 1366 Incorrect string value: '\x80$' for column 'a' at row 5
Warning 1366 Incorrect string value: '\x80%' for column 'a' at row 6
Warning 1366 Incorrect string value: '\x80&' for column 'a' at row 7
Warning 1366 Incorrect string value: '\x80'' for column 'a' at row 8
Warning 1366 Incorrect string value: '\x80(' for column 'a' at row 9
Warning 1366 Incorrect string value: '\x80)' for column 'a' at row 10
Warning 1366 Incorrect string value: '\x80*' for column 'a' at row 11
Warning 1366 Incorrect string value: '\x80+' for column 'a' at row 12
Warning 1366 Incorrect string value: '\x80,' for column 'a' at row 13
Warning 1366 Incorrect string value: '\x80-' for column 'a' at row 14
Warning 1366 Incorrect string value: '\x80.' for column 'a' at row 15
Warning 1366 Incorrect string value: '\x80/' for column 'a' at row 16
Warning 1366 Incorrect string value: '\x800' for column 'a' at row 17
Warning 1366 Incorrect string value: '\x801' for column 'a' at row 18
Warning 1366 Incorrect string value: '\x802' for column 'a' at row 19
Warning 1366 Incorrect string value: '\x803' for column 'a' at row 20
Warning 1366 Incorrect string value: '\x804' for column 'a' at row 21
Warning 1366 Incorrect string value: '\x805' for column 'a' at row 22
Warning 1366 Incorrect string value: '\x806' for column 'a' at row 23
Warning 1366 Incorrect string value: '\x807' for column 'a' at row 24
Warning 1366 Incorrect string value: '\x808' for column 'a' at row 25
Warning 1366 Incorrect string value: '\x809' for column 'a' at row 26
Warning 1366 Incorrect string value: '\x80:' for column 'a' at row 27
Warning 1366 Incorrect string value: '\x80;' for column 'a' at row 28
Warning 1366 Incorrect string value: '\x80<' for column 'a' at row 29
Warning 1366 Incorrect string value: '\x80=' for column 'a' at row 30
Warning 1366 Incorrect string value: '\x80>' for column 'a' at row 31
Warning 1366 Incorrect string value: '\x80?' for column 'a' at row 32
Warning 1366 Incorrect string value: '\x80@' for column 'a' at row 33
Warning 1366 Incorrect string value: '\x80A' for column 'a' at row 34
Warning 1366 Incorrect string value: '\x80B' for column 'a' at row 35
Warning 1366 Incorrect string value: '\x80C' for column 'a' at row 36
Warning 1366 Incorrect string value: '\x80D' for column 'a' at row 37
Warning 1366 Incorrect string value: '\x80E' for column 'a' at row 38
Warning 1366 Incorrect string value: '\x80F' for column 'a' at row 39
Warning 1366 Incorrect string value: '\x80G' for column 'a' at row 40
Warning 1366 Incorrect string value: '\x80H' for column 'a' at row 41
Warning 1366 Incorrect string value: '\x80I' for column 'a' at row 42
Warning 1366 Incorrect string value: '\x80J' for column 'a' at row 43
Warning 1366 Incorrect string value: '\x80K' for column 'a' at row 44
Warning 1366 Incorrect string value: '\x80L' for column 'a' at row 45
Warning 1366 Incorrect string value: '\x80M' for column 'a' at row 46
Warning 1366 Incorrect string value: '\x80N' for column 'a' at row 47
Warning 1366 Incorrect string value: '\x80O' for column 'a' at row 48
Warning 1366 Incorrect string value: '\x80P' for column 'a' at row 49
Warning 1366 Incorrect string value: '\x80Q' for column 'a' at row 50
Warning 1366 Incorrect string value: '\x80R' for column 'a' at row 51
Warning 1366 Incorrect string value: '\x80S' for column 'a' at row 52
Warning 1366 Incorrect string value: '\x80T' for column 'a' at row 53
Warning 1366 Incorrect string value: '\x80U' for column 'a' at row 54
Warning 1366 Incorrect string value: '\x80V' for column 'a' at row 55
Warning 1366 Incorrect string value: '\x80W' for column 'a' at row 56
Warning 1366 Incorrect string value: '\x80X' for column 'a' at row 57
Warning 1366 Incorrect string value: '\x80Y' for column 'a' at row 58
Warning 1366 Incorrect string value: '\x80Z' for column 'a' at row 59
Warning 1366 Incorrect string value: '\x80[' for column 'a' at row 60
Warning 1366 Incorrect string value: '\x80\' for column 'a' at row 61
Warning 1366 Incorrect string value: '\x80]' for column 'a' at row 62
Warning 1366 Incorrect string value: '\x80^' for column 'a' at row 63
Warning 1366 Incorrect string value: '\x80_' for column 'a' at row 64
SELECT COUNT(*) FROM t1 WHERE a<>'';
COUNT(*)
8178
SELECT code, hex(upper(a)), hex(lower(a)),a, upper(a), lower(a) FROM t1 WHERE hex(a)<>hex(upper(a)) OR hex(a)<>hex(lower(a));
code hex(upper(a)) hex(lower(a)) a upper(a) lower(a)
A3C1 A3C1 A3E1
A3C2 A3C2 A3E2
A3C3 A3C3 A3E3
A3C4 A3C4 A3E4
A3C5 A3C5 A3E5
A3C6 A3C6 A3E6
A3C7 A3C7 A3E7
A3C8 A3C8 A3E8
A3C9 A3C9 A3E9
A3CA A3CA A3EA
A3CB A3CB A3EB
A3CC A3CC A3EC
A3CD A3CD A3ED
A3CE A3CE A3EE
A3CF A3CF A3EF
A3D0 A3D0 A3F0
A3D1 A3D1 A3F1
A3D2 A3D2 A3F2
A3D3 A3D3 A3F3
A3D4 A3D4 A3F4
A3D5 A3D5 A3F5
A3D6 A3D6 A3F6
A3D7 A3D7 A3F7
A3D8 A3D8 A3F8
A3D9 A3D9 A3F9
A3DA A3DA A3FA
A3E1 A3C1 A3E1
A3E2 A3C2 A3E2
A3E3 A3C3 A3E3
A3E4 A3C4 A3E4
A3E5 A3C5 A3E5
A3E6 A3C6 A3E6
A3E7 A3C7 A3E7
A3E8 A3C8 A3E8
A3E9 A3C9 A3E9
A3EA A3CA A3EA
A3EB A3CB A3EB
A3EC A3CC A3EC
A3ED A3CD A3ED
A3EE A3CE A3EE
A3EF A3CF A3EF
A3F0 A3D0 A3F0
A3F1 A3D1 A3F1
A3F2 A3D2 A3F2
A3F3 A3D3 A3F3
A3F4 A3D4 A3F4
A3F5 A3D5 A3F5
A3F6 A3D6 A3F6
A3F7 A3D7 A3F7
A3F8 A3D8 A3F8
A3F9 A3D9 A3F9
A3FA A3DA A3FA
A6A1 A6A1 A6C1 Α Α α
A6A2 A6A2 A6C2 Β Β β
A6A3 A6A3 A6C3 Γ Γ γ
A6A4 A6A4 A6C4 Δ Δ δ
A6A5 A6A5 A6C5 Ε Ε ε
A6A6 A6A6 A6C6 Ζ Ζ ζ
A6A7 A6A7 A6C7 Η Η η
A6A8 A6A8 A6C8 Θ Θ θ
A6A9 A6A9 A6C9 Ι Ι ι
A6AA A6AA A6CA Κ Κ κ
A6AB A6AB A6CB Λ Λ λ
A6AC A6AC A6CC Μ Μ μ
A6AD A6AD A6CD Ν Ν ν
A6AE A6AE A6CE Ξ Ξ ξ
A6AF A6AF A6CF Ο Ο ο
A6B0 A6B0 A6D0 Π Π π
A6B1 A6B1 A6D1 Ρ Ρ ρ
A6B2 A6B2 A6D2 Σ Σ σ
A6B3 A6B3 A6D3 Τ Τ τ
A6B4 A6B4 A6D4 Υ Υ υ
A6B5 A6B5 A6D5 Φ Φ φ
A6B6 A6B6 A6D6 Χ Χ χ
A6B7 A6B7 A6D7 Ψ Ψ ψ
A6B8 A6B8 A6D8 Ω Ω ω
A6C1 A6A1 A6C1 α Α α
A6C2 A6A2 A6C2 β Β β
A6C3 A6A3 A6C3 γ Γ γ
A6C4 A6A4 A6C4 δ Δ δ
A6C5 A6A5 A6C5 ε Ε ε
A6C6 A6A6 A6C6 ζ Ζ ζ
A6C7 A6A7 A6C7 η Η η
A6C8 A6A8 A6C8 θ Θ θ
A6C9 A6A9 A6C9 ι Ι ι
A6CA A6AA A6CA κ Κ κ
A6CB A6AB A6CB λ Λ λ
A6CC A6AC A6CC μ Μ μ
A6CD A6AD A6CD ν Ν ν
A6CE A6AE A6CE ξ Ξ ξ
A6CF A6AF A6CF ο Ο ο
A6D0 A6B0 A6D0 π Π π
A6D1 A6B1 A6D1 ρ Ρ ρ
A6D2 A6B2 A6D2 σ Σ σ
A6D3 A6B3 A6D3 τ Τ τ
A6D4 A6B4 A6D4 υ Υ υ
A6D5 A6B5 A6D5 φ Φ φ
A6D6 A6B6 A6D6 χ Χ χ
A6D7 A6B7 A6D7 ψ Ψ ψ
A6D8 A6B8 A6D8 ω Ω ω
A7A1 A7A1 A7D1 А А а
A7A2 A7A2 A7D2 Б Б б
A7A3 A7A3 A7D3 В В в
A7A4 A7A4 A7D4 Г Г г
A7A5 A7A5 A7D5 Д Д д
A7A6 A7A6 A7D6 Е Е е
A7A7 A7A7 A7D7 Ё Ё ё
A7A8 A7A8 A7D8 Ж Ж ж
A7A9 A7A9 A7D9 З З з
A7AA A7AA A7DA И И и
A7AB A7AB A7DB Й Й й
A7AC A7AC A7DC К К к
A7AD A7AD A7DD Л Л л
A7AE A7AE A7DE М М м
A7AF A7AF A7DF Н Н н
A7B0 A7B0 A7E0 О О о
A7B1 A7B1 A7E1 П П п
A7B2 A7B2 A7E2 Р Р р
A7B3 A7B3 A7E3 С С с
A7B4 A7B4 A7E4 Т Т т
A7B5 A7B5 A7E5 У У у
A7B6 A7B6 A7E6 Ф Ф ф
A7B7 A7B7 A7E7 Х Х х
A7B8 A7B8 A7E8 Ц Ц ц
A7B9 A7B9 A7E9 Ч Ч ч
A7BA A7BA A7EA Ш Ш ш
A7BB A7BB A7EB Щ Щ щ
A7BC A7BC A7EC Ъ Ъ ъ
A7BD A7BD A7ED Ы Ы ы
A7BE A7BE A7EE Ь Ь ь
A7BF A7BF A7EF Э Э э
A7C0 A7C0 A7F0 Ю Ю ю
A7C1 A7C1 A7F1 Я Я я
A7D1 A7A1 A7D1 а А а
A7D2 A7A2 A7D2 б Б б
A7D3 A7A3 A7D3 в В в
A7D4 A7A4 A7D4 г Г г
A7D5 A7A5 A7D5 д Д д
A7D6 A7A6 A7D6 е Е е
A7D7 A7A7 A7D7 ё Ё ё
A7D8 A7A8 A7D8 ж Ж ж
A7D9 A7A9 A7D9 з З з
A7DA A7AA A7DA и И и
A7DB A7AB A7DB й Й й
A7DC A7AC A7DC к К к
A7DD A7AD A7DD л Л л
A7DE A7AE A7DE м М м
A7DF A7AF A7DF н Н н
A7E0 A7B0 A7E0 о О о
A7E1 A7B1 A7E1 п П п
A7E2 A7B2 A7E2 р Р р
A7E3 A7B3 A7E3 с С с
A7E4 A7B4 A7E4 т Т т
A7E5 A7B5 A7E5 у У у
A7E6 A7B6 A7E6 ф Ф ф
A7E7 A7B7 A7E7 х Х х
A7E8 A7B8 A7E8 ц Ц ц
A7E9 A7B9 A7E9 ч Ч ч
A7EA A7BA A7EA ш Ш ш
A7EB A7BB A7EB щ Щ щ
A7EC A7BC A7EC ъ Ъ ъ
A7ED A7BD A7ED ы Ы ы
A7EE A7BE A7EE ь Ь ь
A7EF A7BF A7EF э Э э
A7F0 A7C0 A7F0 ю Ю ю
A7F1 A7C1 A7F1 я Я я
SELECT * FROM t1
WHERE HEX(CAST(LOWER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(LOWER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
code a
A2F1
A2F2 Ⅱ
A2F3 Ⅲ
A2F4 Ⅳ
A2F5
A2F6 Ⅵ
A2F7 Ⅶ
A2F8 Ⅷ
A2F9 Ⅸ
A2FA
A2FB Ⅺ
A2FC Ⅻ
SELECT * FROM t1
WHERE HEX(CAST(UPPER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(UPPER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
code a
A8A1 ā
A8A2 á
A8A3 ǎ
A8A4 à
A8A5 ē
A8A6 é
A8A7 ě
A8A8 è
A8A9 ī
A8AA í
A8AB ǐ
A8AC ì
A8AD ō
A8AE ó
A8AF ǒ
A8B0 ò
A8B1 ū
A8B2 ú
A8B3 ǔ
A8B4 ù
A8B5 ǖ
A8B6 ǘ
A8B7 ǚ
A8B8 ǜ
A8B9 ü
A8BA ê
DROP TABLE t1;
#
# End of 5.5 tests
#

View file

@ -255,3 +255,328 @@ SELECT a FROM t1 GROUP BY 1 LIMIT 1 INTO @nullll;
SELECT b FROM t1 GROUP BY 1 LIMIT 1 INTO @nullll;
DROP TABLES t1;
End of 5.0 tests
#
# Start of 5.5 tests
#
#
# Testing WL#4583 Case conversion in Asian character sets
#
SET NAMES utf8;
SET collation_connection=gbk_chinese_ci;
CREATE TABLE t1 (b VARCHAR(2));
INSERT INTO t1 VALUES ('0'),('1'),('2'),('3'),('4'),('5'),('6'),('7');
INSERT INTO t1 VALUES ('8'),('9'),('A'),('B'),('C'),('D'),('E'),('F');
CREATE TEMPORARY TABLE head AS SELECT concat(b1.b, b2.b) AS head FROM t1 b1, t1 b2;
CREATE TEMPORARY TABLE tail AS SELECT concat(b1.b, b2.b) AS tail FROM t1 b1, t1 b2;
DROP TABLE t1;
CREATE TABLE t1 AS
SELECT concat(head, tail) AS code, ' ' AS a
FROM head, tail
WHERE (head BETWEEN '80' AND 'FF') AND (tail BETWEEN '20' AND 'FF')
ORDER BY head, tail;
DROP TEMPORARY TABLE head, tail;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`code` varchar(8) DEFAULT NULL,
`a` varchar(1) CHARACTER SET gbk NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
UPDATE t1 SET a=unhex(code) ORDER BY code;
Warnings:
Warning 1366 Incorrect string value: '\x80 ' for column 'a' at row 1
Warning 1366 Incorrect string value: '\x80!' for column 'a' at row 2
Warning 1366 Incorrect string value: '\x80"' for column 'a' at row 3
Warning 1366 Incorrect string value: '\x80#' for column 'a' at row 4
Warning 1366 Incorrect string value: '\x80$' for column 'a' at row 5
Warning 1366 Incorrect string value: '\x80%' for column 'a' at row 6
Warning 1366 Incorrect string value: '\x80&' for column 'a' at row 7
Warning 1366 Incorrect string value: '\x80'' for column 'a' at row 8
Warning 1366 Incorrect string value: '\x80(' for column 'a' at row 9
Warning 1366 Incorrect string value: '\x80)' for column 'a' at row 10
Warning 1366 Incorrect string value: '\x80*' for column 'a' at row 11
Warning 1366 Incorrect string value: '\x80+' for column 'a' at row 12
Warning 1366 Incorrect string value: '\x80,' for column 'a' at row 13
Warning 1366 Incorrect string value: '\x80-' for column 'a' at row 14
Warning 1366 Incorrect string value: '\x80.' for column 'a' at row 15
Warning 1366 Incorrect string value: '\x80/' for column 'a' at row 16
Warning 1366 Incorrect string value: '\x800' for column 'a' at row 17
Warning 1366 Incorrect string value: '\x801' for column 'a' at row 18
Warning 1366 Incorrect string value: '\x802' for column 'a' at row 19
Warning 1366 Incorrect string value: '\x803' for column 'a' at row 20
Warning 1366 Incorrect string value: '\x804' for column 'a' at row 21
Warning 1366 Incorrect string value: '\x805' for column 'a' at row 22
Warning 1366 Incorrect string value: '\x806' for column 'a' at row 23
Warning 1366 Incorrect string value: '\x807' for column 'a' at row 24
Warning 1366 Incorrect string value: '\x808' for column 'a' at row 25
Warning 1366 Incorrect string value: '\x809' for column 'a' at row 26
Warning 1366 Incorrect string value: '\x80:' for column 'a' at row 27
Warning 1366 Incorrect string value: '\x80;' for column 'a' at row 28
Warning 1366 Incorrect string value: '\x80<' for column 'a' at row 29
Warning 1366 Incorrect string value: '\x80=' for column 'a' at row 30
Warning 1366 Incorrect string value: '\x80>' for column 'a' at row 31
Warning 1366 Incorrect string value: '\x80?' for column 'a' at row 32
Warning 1366 Incorrect string value: '\x80@' for column 'a' at row 33
Warning 1366 Incorrect string value: '\x80A' for column 'a' at row 34
Warning 1366 Incorrect string value: '\x80B' for column 'a' at row 35
Warning 1366 Incorrect string value: '\x80C' for column 'a' at row 36
Warning 1366 Incorrect string value: '\x80D' for column 'a' at row 37
Warning 1366 Incorrect string value: '\x80E' for column 'a' at row 38
Warning 1366 Incorrect string value: '\x80F' for column 'a' at row 39
Warning 1366 Incorrect string value: '\x80G' for column 'a' at row 40
Warning 1366 Incorrect string value: '\x80H' for column 'a' at row 41
Warning 1366 Incorrect string value: '\x80I' for column 'a' at row 42
Warning 1366 Incorrect string value: '\x80J' for column 'a' at row 43
Warning 1366 Incorrect string value: '\x80K' for column 'a' at row 44
Warning 1366 Incorrect string value: '\x80L' for column 'a' at row 45
Warning 1366 Incorrect string value: '\x80M' for column 'a' at row 46
Warning 1366 Incorrect string value: '\x80N' for column 'a' at row 47
Warning 1366 Incorrect string value: '\x80O' for column 'a' at row 48
Warning 1366 Incorrect string value: '\x80P' for column 'a' at row 49
Warning 1366 Incorrect string value: '\x80Q' for column 'a' at row 50
Warning 1366 Incorrect string value: '\x80R' for column 'a' at row 51
Warning 1366 Incorrect string value: '\x80S' for column 'a' at row 52
Warning 1366 Incorrect string value: '\x80T' for column 'a' at row 53
Warning 1366 Incorrect string value: '\x80U' for column 'a' at row 54
Warning 1366 Incorrect string value: '\x80V' for column 'a' at row 55
Warning 1366 Incorrect string value: '\x80W' for column 'a' at row 56
Warning 1366 Incorrect string value: '\x80X' for column 'a' at row 57
Warning 1366 Incorrect string value: '\x80Y' for column 'a' at row 58
Warning 1366 Incorrect string value: '\x80Z' for column 'a' at row 59
Warning 1366 Incorrect string value: '\x80[' for column 'a' at row 60
Warning 1366 Incorrect string value: '\x80\' for column 'a' at row 61
Warning 1366 Incorrect string value: '\x80]' for column 'a' at row 62
Warning 1366 Incorrect string value: '\x80^' for column 'a' at row 63
Warning 1366 Incorrect string value: '\x80_' for column 'a' at row 64
SELECT COUNT(*) FROM t1 WHERE a<>'';
COUNT(*)
23940
SELECT code, hex(upper(a)), hex(lower(a)),a, upper(a), lower(a) FROM t1 WHERE hex(a)<>hex(upper(a)) OR hex(a)<>hex(lower(a));
code hex(upper(a)) hex(lower(a)) a upper(a) lower(a)
A2A1 A2F1 A2A1
A2A2 A2F2 A2A2 ⅱ Ⅱ ⅱ
A2A3 A2F3 A2A3 ⅲ Ⅲ ⅲ
A2A4 A2F4 A2A4 ⅳ Ⅳ ⅳ
A2A5 A2F5 A2A5
A2A6 A2F6 A2A6 ⅵ Ⅵ ⅵ
A2A7 A2F7 A2A7 ⅶ Ⅶ ⅶ
A2A8 A2F8 A2A8 ⅷ Ⅷ ⅷ
A2A9 A2F9 A2A9 ⅸ Ⅸ ⅸ
A2AA A2FA A2AA
A2F1 A2F1 A2A1
A2F2 A2F2 A2A2 Ⅱ Ⅱ ⅱ
A2F3 A2F3 A2A3 Ⅲ Ⅲ ⅲ
A2F4 A2F4 A2A4 Ⅳ Ⅳ ⅳ
A2F5 A2F5 A2A5
A2F6 A2F6 A2A6 Ⅵ Ⅵ ⅵ
A2F7 A2F7 A2A7 Ⅶ Ⅶ ⅶ
A2F8 A2F8 A2A8 Ⅷ Ⅷ ⅷ
A2F9 A2F9 A2A9 Ⅸ Ⅸ ⅸ
A2FA A2FA A2AA
A3C1 A3C1 A3E1
A3C2 A3C2 A3E2
A3C3 A3C3 A3E3
A3C4 A3C4 A3E4
A3C5 A3C5 A3E5
A3C6 A3C6 A3E6
A3C7 A3C7 A3E7
A3C8 A3C8 A3E8
A3C9 A3C9 A3E9
A3CA A3CA A3EA
A3CB A3CB A3EB
A3CC A3CC A3EC
A3CD A3CD A3ED
A3CE A3CE A3EE
A3CF A3CF A3EF
A3D0 A3D0 A3F0
A3D1 A3D1 A3F1
A3D2 A3D2 A3F2
A3D3 A3D3 A3F3
A3D4 A3D4 A3F4
A3D5 A3D5 A3F5
A3D6 A3D6 A3F6
A3D7 A3D7 A3F7
A3D8 A3D8 A3F8
A3D9 A3D9 A3F9
A3DA A3DA A3FA
A3E1 A3C1 A3E1
A3E2 A3C2 A3E2
A3E3 A3C3 A3E3
A3E4 A3C4 A3E4
A3E5 A3C5 A3E5
A3E6 A3C6 A3E6
A3E7 A3C7 A3E7
A3E8 A3C8 A3E8
A3E9 A3C9 A3E9
A3EA A3CA A3EA
A3EB A3CB A3EB
A3EC A3CC A3EC
A3ED A3CD A3ED
A3EE A3CE A3EE
A3EF A3CF A3EF
A3F0 A3D0 A3F0
A3F1 A3D1 A3F1
A3F2 A3D2 A3F2
A3F3 A3D3 A3F3
A3F4 A3D4 A3F4
A3F5 A3D5 A3F5
A3F6 A3D6 A3F6
A3F7 A3D7 A3F7
A3F8 A3D8 A3F8
A3F9 A3D9 A3F9
A3FA A3DA A3FA
A6A1 A6A1 A6C1 Α Α α
A6A2 A6A2 A6C2 Β Β β
A6A3 A6A3 A6C3 Γ Γ γ
A6A4 A6A4 A6C4 Δ Δ δ
A6A5 A6A5 A6C5 Ε Ε ε
A6A6 A6A6 A6C6 Ζ Ζ ζ
A6A7 A6A7 A6C7 Η Η η
A6A8 A6A8 A6C8 Θ Θ θ
A6A9 A6A9 A6C9 Ι Ι ι
A6AA A6AA A6CA Κ Κ κ
A6AB A6AB A6CB Λ Λ λ
A6AC A6AC A6CC Μ Μ μ
A6AD A6AD A6CD Ν Ν ν
A6AE A6AE A6CE Ξ Ξ ξ
A6AF A6AF A6CF Ο Ο ο
A6B0 A6B0 A6D0 Π Π π
A6B1 A6B1 A6D1 Ρ Ρ ρ
A6B2 A6B2 A6D2 Σ Σ σ
A6B3 A6B3 A6D3 Τ Τ τ
A6B4 A6B4 A6D4 Υ Υ υ
A6B5 A6B5 A6D5 Φ Φ φ
A6B6 A6B6 A6D6 Χ Χ χ
A6B7 A6B7 A6D7 Ψ Ψ ψ
A6B8 A6B8 A6D8 Ω Ω ω
A6C1 A6A1 A6C1 α Α α
A6C2 A6A2 A6C2 β Β β
A6C3 A6A3 A6C3 γ Γ γ
A6C4 A6A4 A6C4 δ Δ δ
A6C5 A6A5 A6C5 ε Ε ε
A6C6 A6A6 A6C6 ζ Ζ ζ
A6C7 A6A7 A6C7 η Η η
A6C8 A6A8 A6C8 θ Θ θ
A6C9 A6A9 A6C9 ι Ι ι
A6CA A6AA A6CA κ Κ κ
A6CB A6AB A6CB λ Λ λ
A6CC A6AC A6CC μ Μ μ
A6CD A6AD A6CD ν Ν ν
A6CE A6AE A6CE ξ Ξ ξ
A6CF A6AF A6CF ο Ο ο
A6D0 A6B0 A6D0 π Π π
A6D1 A6B1 A6D1 ρ Ρ ρ
A6D2 A6B2 A6D2 σ Σ σ
A6D3 A6B3 A6D3 τ Τ τ
A6D4 A6B4 A6D4 υ Υ υ
A6D5 A6B5 A6D5 φ Φ φ
A6D6 A6B6 A6D6 χ Χ χ
A6D7 A6B7 A6D7 ψ Ψ ψ
A6D8 A6B8 A6D8 ω Ω ω
A7A1 A7A1 A7D1 А А а
A7A2 A7A2 A7D2 Б Б б
A7A3 A7A3 A7D3 В В в
A7A4 A7A4 A7D4 Г Г г
A7A5 A7A5 A7D5 Д Д д
A7A6 A7A6 A7D6 Е Е е
A7A7 A7A7 A7D7 Ё Ё ё
A7A8 A7A8 A7D8 Ж Ж ж
A7A9 A7A9 A7D9 З З з
A7AA A7AA A7DA И И и
A7AB A7AB A7DB Й Й й
A7AC A7AC A7DC К К к
A7AD A7AD A7DD Л Л л
A7AE A7AE A7DE М М м
A7AF A7AF A7DF Н Н н
A7B0 A7B0 A7E0 О О о
A7B1 A7B1 A7E1 П П п
A7B2 A7B2 A7E2 Р Р р
A7B3 A7B3 A7E3 С С с
A7B4 A7B4 A7E4 Т Т т
A7B5 A7B5 A7E5 У У у
A7B6 A7B6 A7E6 Ф Ф ф
A7B7 A7B7 A7E7 Х Х х
A7B8 A7B8 A7E8 Ц Ц ц
A7B9 A7B9 A7E9 Ч Ч ч
A7BA A7BA A7EA Ш Ш ш
A7BB A7BB A7EB Щ Щ щ
A7BC A7BC A7EC Ъ Ъ ъ
A7BD A7BD A7ED Ы Ы ы
A7BE A7BE A7EE Ь Ь ь
A7BF A7BF A7EF Э Э э
A7C0 A7C0 A7F0 Ю Ю ю
A7C1 A7C1 A7F1 Я Я я
A7D1 A7A1 A7D1 а А а
A7D2 A7A2 A7D2 б Б б
A7D3 A7A3 A7D3 в В в
A7D4 A7A4 A7D4 г Г г
A7D5 A7A5 A7D5 д Д д
A7D6 A7A6 A7D6 е Е е
A7D7 A7A7 A7D7 ё Ё ё
A7D8 A7A8 A7D8 ж Ж ж
A7D9 A7A9 A7D9 з З з
A7DA A7AA A7DA и И и
A7DB A7AB A7DB й Й й
A7DC A7AC A7DC к К к
A7DD A7AD A7DD л Л л
A7DE A7AE A7DE м М м
A7DF A7AF A7DF н Н н
A7E0 A7B0 A7E0 о О о
A7E1 A7B1 A7E1 п П п
A7E2 A7B2 A7E2 р Р р
A7E3 A7B3 A7E3 с С с
A7E4 A7B4 A7E4 т Т т
A7E5 A7B5 A7E5 у У у
A7E6 A7B6 A7E6 ф Ф ф
A7E7 A7B7 A7E7 х Х х
A7E8 A7B8 A7E8 ц Ц ц
A7E9 A7B9 A7E9 ч Ч ч
A7EA A7BA A7EA ш Ш ш
A7EB A7BB A7EB щ Щ щ
A7EC A7BC A7EC ъ Ъ ъ
A7ED A7BD A7ED ы Ы ы
A7EE A7BE A7EE ь Ь ь
A7EF A7BF A7EF э Э э
A7F0 A7C0 A7F0 ю Ю ю
A7F1 A7C1 A7F1 я Я я
SELECT * FROM t1
WHERE HEX(CAST(LOWER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(LOWER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
code a
A2FB Ⅺ
A2FC Ⅻ
SELECT * FROM t1
WHERE HEX(CAST(UPPER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(UPPER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
code a
A8A1 ā
A8A2 á
A8A3 ǎ
A8A4 à
A8A5 ē
A8A6 é
A8A7 ě
A8A8 è
A8A9 ī
A8AA í
A8AB ǐ
A8AC ì
A8AD ō
A8AE ó
A8AF ǒ
A8B0 ò
A8B1 ū
A8B2 ú
A8B3 ǔ
A8B4 ù
A8B5 ǖ
A8B6 ǘ
A8B7 ǚ
A8B8 ǜ
A8B9 ü
A8BA ê
A8BD ń
A8BE ň
DROP TABLE t1;
#
# End of 5.5 tests
#

View file

@ -219,3 +219,290 @@ hex(a) hex(lower(a)) hex(upper(a))
8372835E 8372835E 8372835E
DROP TABLE t1;
# End of 5.1 tests
#
# Start of 5.5 tests
#
#
# Testing WL#4583 Case conversion in Asian character sets
#
SET NAMES utf8;
SET collation_connection=sjis_japanese_ci;
CREATE TABLE t1 (b VARCHAR(2));
INSERT INTO t1 VALUES ('0'),('1'),('2'),('3'),('4'),('5'),('6'),('7');
INSERT INTO t1 VALUES ('8'),('9'),('A'),('B'),('C'),('D'),('E'),('F');
CREATE TEMPORARY TABLE head AS SELECT concat(b1.b, b2.b) AS head FROM t1 b1, t1 b2;
CREATE TEMPORARY TABLE tail AS SELECT concat(b1.b, b2.b) AS tail FROM t1 b1, t1 b2;
DROP TABLE t1;
CREATE TABLE t1 AS
SELECT concat(head, tail) AS code, ' ' AS a
FROM head, tail
WHERE (head BETWEEN '80' AND 'FF') AND (head NOT BETWEEN 'A1' AND 'DF')
AND (tail BETWEEN '20' AND 'FF')
ORDER BY head, tail;
INSERT t1 (code) SELECT head FROM head WHERE (head BETWEEN 'A1' AND 'DF');
DROP TEMPORARY TABLE head, tail;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`code` varchar(8) DEFAULT NULL,
`a` varchar(1) CHARACTER SET sjis NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
UPDATE t1 SET a=unhex(code) ORDER BY code;
Warnings:
Warning 1366 Incorrect string value: '\x80 ' for column 'a' at row 1
Warning 1366 Incorrect string value: '\x80!' for column 'a' at row 2
Warning 1366 Incorrect string value: '\x80"' for column 'a' at row 3
Warning 1366 Incorrect string value: '\x80#' for column 'a' at row 4
Warning 1366 Incorrect string value: '\x80$' for column 'a' at row 5
Warning 1366 Incorrect string value: '\x80%' for column 'a' at row 6
Warning 1366 Incorrect string value: '\x80&' for column 'a' at row 7
Warning 1366 Incorrect string value: '\x80'' for column 'a' at row 8
Warning 1366 Incorrect string value: '\x80(' for column 'a' at row 9
Warning 1366 Incorrect string value: '\x80)' for column 'a' at row 10
Warning 1366 Incorrect string value: '\x80*' for column 'a' at row 11
Warning 1366 Incorrect string value: '\x80+' for column 'a' at row 12
Warning 1366 Incorrect string value: '\x80,' for column 'a' at row 13
Warning 1366 Incorrect string value: '\x80-' for column 'a' at row 14
Warning 1366 Incorrect string value: '\x80.' for column 'a' at row 15
Warning 1366 Incorrect string value: '\x80/' for column 'a' at row 16
Warning 1366 Incorrect string value: '\x800' for column 'a' at row 17
Warning 1366 Incorrect string value: '\x801' for column 'a' at row 18
Warning 1366 Incorrect string value: '\x802' for column 'a' at row 19
Warning 1366 Incorrect string value: '\x803' for column 'a' at row 20
Warning 1366 Incorrect string value: '\x804' for column 'a' at row 21
Warning 1366 Incorrect string value: '\x805' for column 'a' at row 22
Warning 1366 Incorrect string value: '\x806' for column 'a' at row 23
Warning 1366 Incorrect string value: '\x807' for column 'a' at row 24
Warning 1366 Incorrect string value: '\x808' for column 'a' at row 25
Warning 1366 Incorrect string value: '\x809' for column 'a' at row 26
Warning 1366 Incorrect string value: '\x80:' for column 'a' at row 27
Warning 1366 Incorrect string value: '\x80;' for column 'a' at row 28
Warning 1366 Incorrect string value: '\x80<' for column 'a' at row 29
Warning 1366 Incorrect string value: '\x80=' for column 'a' at row 30
Warning 1366 Incorrect string value: '\x80>' for column 'a' at row 31
Warning 1366 Incorrect string value: '\x80?' for column 'a' at row 32
Warning 1366 Incorrect string value: '\x80@' for column 'a' at row 33
Warning 1366 Incorrect string value: '\x80A' for column 'a' at row 34
Warning 1366 Incorrect string value: '\x80B' for column 'a' at row 35
Warning 1366 Incorrect string value: '\x80C' for column 'a' at row 36
Warning 1366 Incorrect string value: '\x80D' for column 'a' at row 37
Warning 1366 Incorrect string value: '\x80E' for column 'a' at row 38
Warning 1366 Incorrect string value: '\x80F' for column 'a' at row 39
Warning 1366 Incorrect string value: '\x80G' for column 'a' at row 40
Warning 1366 Incorrect string value: '\x80H' for column 'a' at row 41
Warning 1366 Incorrect string value: '\x80I' for column 'a' at row 42
Warning 1366 Incorrect string value: '\x80J' for column 'a' at row 43
Warning 1366 Incorrect string value: '\x80K' for column 'a' at row 44
Warning 1366 Incorrect string value: '\x80L' for column 'a' at row 45
Warning 1366 Incorrect string value: '\x80M' for column 'a' at row 46
Warning 1366 Incorrect string value: '\x80N' for column 'a' at row 47
Warning 1366 Incorrect string value: '\x80O' for column 'a' at row 48
Warning 1366 Incorrect string value: '\x80P' for column 'a' at row 49
Warning 1366 Incorrect string value: '\x80Q' for column 'a' at row 50
Warning 1366 Incorrect string value: '\x80R' for column 'a' at row 51
Warning 1366 Incorrect string value: '\x80S' for column 'a' at row 52
Warning 1366 Incorrect string value: '\x80T' for column 'a' at row 53
Warning 1366 Incorrect string value: '\x80U' for column 'a' at row 54
Warning 1366 Incorrect string value: '\x80V' for column 'a' at row 55
Warning 1366 Incorrect string value: '\x80W' for column 'a' at row 56
Warning 1366 Incorrect string value: '\x80X' for column 'a' at row 57
Warning 1366 Incorrect string value: '\x80Y' for column 'a' at row 58
Warning 1366 Incorrect string value: '\x80Z' for column 'a' at row 59
Warning 1366 Incorrect string value: '\x80[' for column 'a' at row 60
Warning 1366 Incorrect string value: '\x80\' for column 'a' at row 61
Warning 1366 Incorrect string value: '\x80]' for column 'a' at row 62
Warning 1366 Incorrect string value: '\x80^' for column 'a' at row 63
Warning 1366 Incorrect string value: '\x80_' for column 'a' at row 64
SELECT COUNT(*) FROM t1;
COUNT(*)
14623
SELECT COUNT(*) FROM t1 WHERE a<>'' AND OCTET_LENGTH(a)=1;
COUNT(*)
63
SELECT COUNT(*) FROM t1 WHERE a<>'' AND OCTET_LENGTH(a)=2;
COUNT(*)
11280
SELECT code, hex(upper(a)), hex(lower(a)),a, upper(a), lower(a)
FROM t1
WHERE hex(a)<>hex(upper(a)) OR hex(a)<>hex(lower(a))
ORDER BY code;
code hex(upper(a)) hex(lower(a)) a upper(a) lower(a)
8260 8260 8281
8261 8261 8282
8262 8262 8283
8263 8263 8284
8264 8264 8285
8265 8265 8286
8266 8266 8287
8267 8267 8288
8268 8268 8289
8269 8269 828A
826A 826A 828B
826B 826B 828C
826C 826C 828D
826D 826D 828E
826E 826E 828F
826F 826F 8290
8270 8270 8291
8271 8271 8292
8272 8272 8293
8273 8273 8294
8274 8274 8295
8275 8275 8296
8276 8276 8297
8277 8277 8298
8278 8278 8299
8279 8279 829A
8281 8260 8281
8282 8261 8282
8283 8262 8283
8284 8263 8284
8285 8264 8285
8286 8265 8286
8287 8266 8287
8288 8267 8288
8289 8268 8289
828A 8269 828A
828B 826A 828B
828C 826B 828C
828D 826C 828D
828E 826D 828E
828F 826E 828F
8290 826F 8290
8291 8270 8291
8292 8271 8292
8293 8272 8293
8294 8273 8294
8295 8274 8295
8296 8275 8296
8297 8276 8297
8298 8277 8298
8299 8278 8299
829A 8279 829A
839F 839F 83BF Α Α α
83A0 83A0 83C0 Β Β β
83A1 83A1 83C1 Γ Γ γ
83A2 83A2 83C2 Δ Δ δ
83A3 83A3 83C3 Ε Ε ε
83A4 83A4 83C4 Ζ Ζ ζ
83A5 83A5 83C5 Η Η η
83A6 83A6 83C6 Θ Θ θ
83A7 83A7 83C7 Ι Ι ι
83A8 83A8 83C8 Κ Κ κ
83A9 83A9 83C9 Λ Λ λ
83AA 83AA 83CA Μ Μ μ
83AB 83AB 83CB Ν Ν ν
83AC 83AC 83CC Ξ Ξ ξ
83AD 83AD 83CD Ο Ο ο
83AE 83AE 83CE Π Π π
83AF 83AF 83CF Ρ Ρ ρ
83B0 83B0 83D0 Σ Σ σ
83B1 83B1 83D1 Τ Τ τ
83B2 83B2 83D2 Υ Υ υ
83B3 83B3 83D3 Φ Φ φ
83B4 83B4 83D4 Χ Χ χ
83B5 83B5 83D5 Ψ Ψ ψ
83B6 83B6 83D6 Ω Ω ω
83BF 839F 83BF α Α α
83C0 83A0 83C0 β Β β
83C1 83A1 83C1 γ Γ γ
83C2 83A2 83C2 δ Δ δ
83C3 83A3 83C3 ε Ε ε
83C4 83A4 83C4 ζ Ζ ζ
83C5 83A5 83C5 η Η η
83C6 83A6 83C6 θ Θ θ
83C7 83A7 83C7 ι Ι ι
83C8 83A8 83C8 κ Κ κ
83C9 83A9 83C9 λ Λ λ
83CA 83AA 83CA μ Μ μ
83CB 83AB 83CB ν Ν ν
83CC 83AC 83CC ξ Ξ ξ
83CD 83AD 83CD ο Ο ο
83CE 83AE 83CE π Π π
83CF 83AF 83CF ρ Ρ ρ
83D0 83B0 83D0 σ Σ σ
83D1 83B1 83D1 τ Τ τ
83D2 83B2 83D2 υ Υ υ
83D3 83B3 83D3 φ Φ φ
83D4 83B4 83D4 χ Χ χ
83D5 83B5 83D5 ψ Ψ ψ
83D6 83B6 83D6 ω Ω ω
8440 8440 8470 А А а
8441 8441 8471 Б Б б
8442 8442 8472 В В в
8443 8443 8473 Г Г г
8444 8444 8474 Д Д д
8445 8445 8475 Е Е е
8446 8446 8476 Ё Ё ё
8447 8447 8477 Ж Ж ж
8448 8448 8478 З З з
8449 8449 8479 И И и
844A 844A 847A Й Й й
844B 844B 847B К К к
844C 844C 847C Л Л л
844D 844D 847D М М м
844E 844E 847E Н Н н
844F 844F 8480 О О о
8450 8450 8481 П П п
8451 8451 8482 Р Р р
8452 8452 8483 С С с
8453 8453 8484 Т Т т
8454 8454 8485 У У у
8455 8455 8486 Ф Ф ф
8456 8456 8487 Х Х х
8457 8457 8488 Ц Ц ц
8458 8458 8489 Ч Ч ч
8459 8459 848A Ш Ш ш
845A 845A 848B Щ Щ щ
845B 845B 848C Ъ Ъ ъ
845C 845C 848D Ы Ы ы
845D 845D 848E Ь Ь ь
845E 845E 848F Э Э э
845F 845F 8490 Ю Ю ю
8460 8460 8491 Я Я я
8470 8440 8470 а А а
8471 8441 8471 б Б б
8472 8442 8472 в В в
8473 8443 8473 г Г г
8474 8444 8474 д Д д
8475 8445 8475 е Е е
8476 8446 8476 ё Ё ё
8477 8447 8477 ж Ж ж
8478 8448 8478 з З з
8479 8449 8479 и И и
847A 844A 847A й Й й
847B 844B 847B к К к
847C 844C 847C л Л л
847D 844D 847D м М м
847E 844E 847E н Н н
8480 844F 8480 о О о
8481 8450 8481 п П п
8482 8451 8482 р Р р
8483 8452 8483 с С с
8484 8453 8484 т Т т
8485 8454 8485 у У у
8486 8455 8486 ф Ф ф
8487 8456 8487 х Х х
8488 8457 8488 ц Ц ц
8489 8458 8489 ч Ч ч
848A 8459 848A ш Ш ш
848B 845A 848B щ Щ щ
848C 845B 848C ъ Ъ ъ
848D 845C 848D ы Ы ы
848E 845D 848E ь Ь ь
848F 845E 848F э Э э
8490 845F 8490 ю Ю ю
8491 8460 8491 я Я я
SELECT * FROM t1
WHERE HEX(CAST(LOWER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(LOWER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
code a
81F0 Å
SELECT * FROM t1
WHERE HEX(CAST(UPPER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(UPPER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
code a
DROP TABLE t1;
#
# End of 5.5 tests
#

View file

@ -2377,3 +2377,535 @@ DROP TABLE t2;
set names default;
set character_set_database=default;
set character_set_server=default;
#
# Start of 5.5 tests
#
#
# Testing WL#4583 Case conversion in Asian character sets
#
SET NAMES utf8;
SET collation_connection=ujis_japanese_ci;
CREATE TABLE t1 (b VARCHAR(2));
INSERT INTO t1 VALUES ('0'),('1'),('2'),('3'),('4'),('5'),('6'),('7');
INSERT INTO t1 VALUES ('8'),('9'),('A'),('B'),('C'),('D'),('E'),('F');
CREATE TEMPORARY TABLE head AS SELECT concat(b1.b, b2.b) AS head FROM t1 b1, t1 b2;
CREATE TEMPORARY TABLE tail AS SELECT concat(b1.b, b2.b) AS tail FROM t1 b1, t1 b2;
DROP TABLE t1;
CREATE TABLE t1 AS SELECT 'XXXXXX' AS code, ' ' AS a LIMIT 0;
INSERT INTO t1 (code) SELECT concat('8E', head) FROM head
WHERE (head BETWEEN 'A1' AND 'DF') ORDER BY head;
INSERT INTO t1 (code) SELECT concat(head, tail)
FROM head, tail
WHERE (head BETWEEN '80' AND 'FF') AND (head NOT BETWEEN '8E' AND '8F')
AND (tail BETWEEN '20' AND 'FF')
ORDER BY head, tail;
INSERT INTO t1 (code) SELECT concat('8F', head, tail)
FROM head, tail
WHERE (head BETWEEN '80' AND 'FF') AND (tail BETWEEN '80' AND 'FF')
ORDER BY head, tail;
DROP TEMPORARY TABLE head, tail;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`code` varchar(6) CHARACTER SET ujis NOT NULL DEFAULT '',
`a` varchar(1) CHARACTER SET ujis NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
UPDATE t1 SET a=unhex(code) ORDER BY code;
Warnings:
Warning 1366 Incorrect string value: '\x80 ' for column 'a' at row 1
Warning 1366 Incorrect string value: '\x80!' for column 'a' at row 2
Warning 1366 Incorrect string value: '\x80"' for column 'a' at row 3
Warning 1366 Incorrect string value: '\x80#' for column 'a' at row 4
Warning 1366 Incorrect string value: '\x80$' for column 'a' at row 5
Warning 1366 Incorrect string value: '\x80%' for column 'a' at row 6
Warning 1366 Incorrect string value: '\x80&' for column 'a' at row 7
Warning 1366 Incorrect string value: '\x80'' for column 'a' at row 8
Warning 1366 Incorrect string value: '\x80(' for column 'a' at row 9
Warning 1366 Incorrect string value: '\x80)' for column 'a' at row 10
Warning 1366 Incorrect string value: '\x80*' for column 'a' at row 11
Warning 1366 Incorrect string value: '\x80+' for column 'a' at row 12
Warning 1366 Incorrect string value: '\x80,' for column 'a' at row 13
Warning 1366 Incorrect string value: '\x80-' for column 'a' at row 14
Warning 1366 Incorrect string value: '\x80.' for column 'a' at row 15
Warning 1366 Incorrect string value: '\x80/' for column 'a' at row 16
Warning 1366 Incorrect string value: '\x800' for column 'a' at row 17
Warning 1366 Incorrect string value: '\x801' for column 'a' at row 18
Warning 1366 Incorrect string value: '\x802' for column 'a' at row 19
Warning 1366 Incorrect string value: '\x803' for column 'a' at row 20
Warning 1366 Incorrect string value: '\x804' for column 'a' at row 21
Warning 1366 Incorrect string value: '\x805' for column 'a' at row 22
Warning 1366 Incorrect string value: '\x806' for column 'a' at row 23
Warning 1366 Incorrect string value: '\x807' for column 'a' at row 24
Warning 1366 Incorrect string value: '\x808' for column 'a' at row 25
Warning 1366 Incorrect string value: '\x809' for column 'a' at row 26
Warning 1366 Incorrect string value: '\x80:' for column 'a' at row 27
Warning 1366 Incorrect string value: '\x80;' for column 'a' at row 28
Warning 1366 Incorrect string value: '\x80<' for column 'a' at row 29
Warning 1366 Incorrect string value: '\x80=' for column 'a' at row 30
Warning 1366 Incorrect string value: '\x80>' for column 'a' at row 31
Warning 1366 Incorrect string value: '\x80?' for column 'a' at row 32
Warning 1366 Incorrect string value: '\x80@' for column 'a' at row 33
Warning 1366 Incorrect string value: '\x80A' for column 'a' at row 34
Warning 1366 Incorrect string value: '\x80B' for column 'a' at row 35
Warning 1366 Incorrect string value: '\x80C' for column 'a' at row 36
Warning 1366 Incorrect string value: '\x80D' for column 'a' at row 37
Warning 1366 Incorrect string value: '\x80E' for column 'a' at row 38
Warning 1366 Incorrect string value: '\x80F' for column 'a' at row 39
Warning 1366 Incorrect string value: '\x80G' for column 'a' at row 40
Warning 1366 Incorrect string value: '\x80H' for column 'a' at row 41
Warning 1366 Incorrect string value: '\x80I' for column 'a' at row 42
Warning 1366 Incorrect string value: '\x80J' for column 'a' at row 43
Warning 1366 Incorrect string value: '\x80K' for column 'a' at row 44
Warning 1366 Incorrect string value: '\x80L' for column 'a' at row 45
Warning 1366 Incorrect string value: '\x80M' for column 'a' at row 46
Warning 1366 Incorrect string value: '\x80N' for column 'a' at row 47
Warning 1366 Incorrect string value: '\x80O' for column 'a' at row 48
Warning 1366 Incorrect string value: '\x80P' for column 'a' at row 49
Warning 1366 Incorrect string value: '\x80Q' for column 'a' at row 50
Warning 1366 Incorrect string value: '\x80R' for column 'a' at row 51
Warning 1366 Incorrect string value: '\x80S' for column 'a' at row 52
Warning 1366 Incorrect string value: '\x80T' for column 'a' at row 53
Warning 1366 Incorrect string value: '\x80U' for column 'a' at row 54
Warning 1366 Incorrect string value: '\x80V' for column 'a' at row 55
Warning 1366 Incorrect string value: '\x80W' for column 'a' at row 56
Warning 1366 Incorrect string value: '\x80X' for column 'a' at row 57
Warning 1366 Incorrect string value: '\x80Y' for column 'a' at row 58
Warning 1366 Incorrect string value: '\x80Z' for column 'a' at row 59
Warning 1366 Incorrect string value: '\x80[' for column 'a' at row 60
Warning 1366 Incorrect string value: '\x80\' for column 'a' at row 61
Warning 1366 Incorrect string value: '\x80]' for column 'a' at row 62
Warning 1366 Incorrect string value: '\x80^' for column 'a' at row 63
Warning 1366 Incorrect string value: '\x80_' for column 'a' at row 64
SELECT COUNT(*) FROM t1;
COUNT(*)
44671
SELECT COUNT(*) FROM t1 WHERE a<>'';
COUNT(*)
17735
SELECT COUNT(*) FROM t1 WHERE a<>'' AND OCTET_LENGTH(a)=2;
COUNT(*)
8899
SELECT COUNT(*) FROM t1 WHERE a<>'' AND OCTET_LENGTH(a)=3;
COUNT(*)
8836
SELECT code, hex(upper(a)), hex(lower(a)),a, upper(a), lower(a) FROM t1 WHERE hex(a)<>hex(upper(a)) OR hex(a)<>hex(lower(a)) ORDER BY code;
code hex(upper(a)) hex(lower(a)) a upper(a) lower(a)
8FA6E1 8FA6E1 8FA6F1 Ά Ά ά
8FA6E2 8FA6E2 8FA6F2 Έ Έ έ
8FA6E3 8FA6E3 8FA6F3 Ή Ή ή
8FA6E4 8FA6E4 8FA6F4 Ί Ί ί
8FA6E5 8FA6E5 8FA6F5 Ϊ Ϊ ϊ
8FA6E7 8FA6E7 8FA6F7 Ό Ό ό
8FA6E9 8FA6E9 8FA6F9 Ύ Ύ ύ
8FA6EA 8FA6EA 8FA6FA Ϋ Ϋ ϋ
8FA6EC 8FA6EC 8FA6FC Ώ Ώ ώ
8FA6F1 8FA6E1 8FA6F1 ά Ά ά
8FA6F2 8FA6E2 8FA6F2 έ Έ έ
8FA6F3 8FA6E3 8FA6F3 ή Ή ή
8FA6F4 8FA6E4 8FA6F4 ί Ί ί
8FA6F5 8FA6E5 8FA6F5 ϊ Ϊ ϊ
8FA6F7 8FA6E7 8FA6F7 ό Ό ό
8FA6F8 A6B2 8FA6F8 ς Σ ς
8FA6F9 8FA6E9 8FA6F9 ύ Ύ ύ
8FA6FA 8FA6EA 8FA6FA ϋ Ϋ ϋ
8FA6FC 8FA6EC 8FA6FC ώ Ώ ώ
8FA7C2 8FA7C2 8FA7F2 Ђ Ђ ђ
8FA7C3 8FA7C3 8FA7F3 Ѓ Ѓ ѓ
8FA7C4 8FA7C4 8FA7F4 Є Є є
8FA7C5 8FA7C5 8FA7F5 Ѕ Ѕ ѕ
8FA7C6 8FA7C6 8FA7F6 І І і
8FA7C7 8FA7C7 8FA7F7 Ї Ї ї
8FA7C8 8FA7C8 8FA7F8 Ј Ј ј
8FA7C9 8FA7C9 8FA7F9 Љ Љ љ
8FA7CA 8FA7CA 8FA7FA Њ Њ њ
8FA7CB 8FA7CB 8FA7FB Ћ Ћ ћ
8FA7CC 8FA7CC 8FA7FC Ќ Ќ ќ
8FA7CD 8FA7CD 8FA7FD Ў Ў ў
8FA7CE 8FA7CE 8FA7FE Џ Џ џ
8FA7F2 8FA7C2 8FA7F2 ђ Ђ ђ
8FA7F3 8FA7C3 8FA7F3 ѓ Ѓ ѓ
8FA7F4 8FA7C4 8FA7F4 є Є є
8FA7F5 8FA7C5 8FA7F5 ѕ Ѕ ѕ
8FA7F6 8FA7C6 8FA7F6 і І і
8FA7F7 8FA7C7 8FA7F7 ї Ї ї
8FA7F8 8FA7C8 8FA7F8 ј Ј ј
8FA7F9 8FA7C9 8FA7F9 љ Љ љ
8FA7FA 8FA7CA 8FA7FA њ Њ њ
8FA7FB 8FA7CB 8FA7FB ћ Ћ ћ
8FA7FC 8FA7CC 8FA7FC ќ Ќ ќ
8FA7FD 8FA7CD 8FA7FD ў Ў ў
8FA7FE 8FA7CE 8FA7FE џ Џ џ
8FA9A1 8FA9A1 8FA9C1 Æ Æ æ
8FA9A2 8FA9A2 8FA9C2 Đ Đ đ
8FA9A4 8FA9A4 8FA9C4 Ħ Ħ ħ
8FA9A6 8FA9A6 8FA9C6 IJ IJ ij
8FA9A8 8FA9A8 8FA9C8 Ł Ł ł
8FA9A9 8FA9A9 8FA9C9 Ŀ Ŀ ŀ
8FA9AB 8FA9AB 8FA9CB Ŋ Ŋ ŋ
8FA9AC 8FA9AC 8FA9CC Ø Ø ø
8FA9AD 8FA9AD 8FA9CD Œ Œ œ
8FA9AF 8FA9AF 8FA9CF Ŧ Ŧ ŧ
8FA9B0 8FA9B0 8FA9D0 Þ Þ þ
8FA9C1 8FA9A1 8FA9C1 æ Æ æ
8FA9C2 8FA9A2 8FA9C2 đ Đ đ
8FA9C4 8FA9A4 8FA9C4 ħ Ħ ħ
8FA9C5 49 8FA9C5 ı I ı
8FA9C6 8FA9A6 8FA9C6 ij IJ ij
8FA9C8 8FA9A8 8FA9C8 ł Ł ł
8FA9C9 8FA9A9 8FA9C9 ŀ Ŀ ŀ
8FA9CB 8FA9AB 8FA9CB ŋ Ŋ ŋ
8FA9CC 8FA9AC 8FA9CC ø Ø ø
8FA9CD 8FA9AD 8FA9CD œ Œ œ
8FA9CF 8FA9AF 8FA9CF ŧ Ŧ ŧ
8FA9D0 8FA9B0 8FA9D0 þ Þ þ
8FAAA1 8FAAA1 8FABA1 Á Á á
8FAAA2 8FAAA2 8FABA2 À À à
8FAAA3 8FAAA3 8FABA3 Ä Ä ä
8FAAA4 8FAAA4 8FABA4 Â Â â
8FAAA5 8FAAA5 8FABA5 Ă Ă ă
8FAAA6 8FAAA6 8FABA6 Ǎ Ǎ ǎ
8FAAA7 8FAAA7 8FABA7 Ā Ā ā
8FAAA8 8FAAA8 8FABA8 Ą Ą ą
8FAAA9 8FAAA9 8FABA9 Å Å å
8FAAAA 8FAAAA 8FABAA Ã Ã ã
8FAAAB 8FAAAB 8FABAB Ć Ć ć
8FAAAC 8FAAAC 8FABAC Ĉ Ĉ ĉ
8FAAAD 8FAAAD 8FABAD Č Č č
8FAAAE 8FAAAE 8FABAE Ç Ç ç
8FAAAF 8FAAAF 8FABAF Ċ Ċ ċ
8FAAB0 8FAAB0 8FABB0 Ď Ď ď
8FAAB1 8FAAB1 8FABB1 É É é
8FAAB2 8FAAB2 8FABB2 È È è
8FAAB3 8FAAB3 8FABB3 Ë Ë ë
8FAAB4 8FAAB4 8FABB4 Ê Ê ê
8FAAB5 8FAAB5 8FABB5 Ě Ě ě
8FAAB6 8FAAB6 8FABB6 Ė Ė ė
8FAAB7 8FAAB7 8FABB7 Ē Ē ē
8FAAB8 8FAAB8 8FABB8 Ę Ę ę
8FAABA 8FAABA 8FABBA Ĝ Ĝ ĝ
8FAABB 8FAABB 8FABBB Ğ Ğ ğ
8FAABD 8FAABD 8FABBD Ġ Ġ ġ
8FAABE 8FAABE 8FABBE Ĥ Ĥ ĥ
8FAABF 8FAABF 8FABBF Í Í í
8FAAC0 8FAAC0 8FABC0 Ì Ì ì
8FAAC1 8FAAC1 8FABC1 Ï Ï ï
8FAAC2 8FAAC2 8FABC2 Î Î î
8FAAC3 8FAAC3 8FABC3 Ǐ Ǐ ǐ
8FAAC4 8FAAC4 69 İ İ i
8FAAC5 8FAAC5 8FABC5 Ī Ī ī
8FAAC6 8FAAC6 8FABC6 Į Į į
8FAAC7 8FAAC7 8FABC7 Ĩ Ĩ ĩ
8FAAC8 8FAAC8 8FABC8 Ĵ Ĵ ĵ
8FAAC9 8FAAC9 8FABC9 Ķ Ķ ķ
8FAACA 8FAACA 8FABCA Ĺ Ĺ ĺ
8FAACB 8FAACB 8FABCB Ľ Ľ ľ
8FAACC 8FAACC 8FABCC Ļ Ļ ļ
8FAACD 8FAACD 8FABCD Ń Ń ń
8FAACE 8FAACE 8FABCE Ň Ň ň
8FAACF 8FAACF 8FABCF Ņ Ņ ņ
8FAAD0 8FAAD0 8FABD0 Ñ Ñ ñ
8FAAD1 8FAAD1 8FABD1 Ó Ó ó
8FAAD2 8FAAD2 8FABD2 Ò Ò ò
8FAAD3 8FAAD3 8FABD3 Ö Ö ö
8FAAD4 8FAAD4 8FABD4 Ô Ô ô
8FAAD5 8FAAD5 8FABD5 Ǒ Ǒ ǒ
8FAAD6 8FAAD6 8FABD6 Ő Ő ő
8FAAD7 8FAAD7 8FABD7 Ō Ō ō
8FAAD8 8FAAD8 8FABD8 Õ Õ õ
8FAAD9 8FAAD9 8FABD9 Ŕ Ŕ ŕ
8FAADA 8FAADA 8FABDA Ř Ř ř
8FAADB 8FAADB 8FABDB Ŗ Ŗ ŗ
8FAADC 8FAADC 8FABDC Ś Ś ś
8FAADD 8FAADD 8FABDD Ŝ Ŝ ŝ
8FAADE 8FAADE 8FABDE Š Š š
8FAADF 8FAADF 8FABDF Ş Ş ş
8FAAE0 8FAAE0 8FABE0 Ť Ť ť
8FAAE1 8FAAE1 8FABE1 Ţ Ţ ţ
8FAAE2 8FAAE2 8FABE2 Ú Ú ú
8FAAE3 8FAAE3 8FABE3 Ù Ù ù
8FAAE4 8FAAE4 8FABE4 Ü Ü ü
8FAAE5 8FAAE5 8FABE5 Û Û û
8FAAE6 8FAAE6 8FABE6 Ŭ Ŭ ŭ
8FAAE7 8FAAE7 8FABE7 Ǔ Ǔ ǔ
8FAAE8 8FAAE8 8FABE8 Ű Ű ű
8FAAE9 8FAAE9 8FABE9 Ū Ū ū
8FAAEA 8FAAEA 8FABEA Ų Ų ų
8FAAEB 8FAAEB 8FABEB Ů Ů ů
8FAAEC 8FAAEC 8FABEC Ũ Ũ ũ
8FAAED 8FAAED 8FABED Ǘ Ǘ ǘ
8FAAEE 8FAAEE 8FABEE Ǜ Ǜ ǜ
8FAAEF 8FAAEF 8FABEF Ǚ Ǚ ǚ
8FAAF0 8FAAF0 8FABF0 Ǖ Ǖ ǖ
8FAAF1 8FAAF1 8FABF1 Ŵ Ŵ ŵ
8FAAF2 8FAAF2 8FABF2 Ý Ý ý
8FAAF3 8FAAF3 8FABF3 Ÿ Ÿ ÿ
8FAAF4 8FAAF4 8FABF4 Ŷ Ŷ ŷ
8FAAF5 8FAAF5 8FABF5 Ź Ź ź
8FAAF6 8FAAF6 8FABF6 Ž Ž ž
8FAAF7 8FAAF7 8FABF7 Ż Ż ż
8FABA1 8FAAA1 8FABA1 á Á á
8FABA2 8FAAA2 8FABA2 à À à
8FABA3 8FAAA3 8FABA3 ä Ä ä
8FABA4 8FAAA4 8FABA4 â Â â
8FABA5 8FAAA5 8FABA5 ă Ă ă
8FABA6 8FAAA6 8FABA6 ǎ Ǎ ǎ
8FABA7 8FAAA7 8FABA7 ā Ā ā
8FABA8 8FAAA8 8FABA8 ą Ą ą
8FABA9 8FAAA9 8FABA9 å Å å
8FABAA 8FAAAA 8FABAA ã Ã ã
8FABAB 8FAAAB 8FABAB ć Ć ć
8FABAC 8FAAAC 8FABAC ĉ Ĉ ĉ
8FABAD 8FAAAD 8FABAD č Č č
8FABAE 8FAAAE 8FABAE ç Ç ç
8FABAF 8FAAAF 8FABAF ċ Ċ ċ
8FABB0 8FAAB0 8FABB0 ď Ď ď
8FABB1 8FAAB1 8FABB1 é É é
8FABB2 8FAAB2 8FABB2 è È è
8FABB3 8FAAB3 8FABB3 ë Ë ë
8FABB4 8FAAB4 8FABB4 ê Ê ê
8FABB5 8FAAB5 8FABB5 ě Ě ě
8FABB6 8FAAB6 8FABB6 ė Ė ė
8FABB7 8FAAB7 8FABB7 ē Ē ē
8FABB8 8FAAB8 8FABB8 ę Ę ę
8FABBA 8FAABA 8FABBA ĝ Ĝ ĝ
8FABBB 8FAABB 8FABBB ğ Ğ ğ
8FABBD 8FAABD 8FABBD ġ Ġ ġ
8FABBE 8FAABE 8FABBE ĥ Ĥ ĥ
8FABBF 8FAABF 8FABBF í Í í
8FABC0 8FAAC0 8FABC0 ì Ì ì
8FABC1 8FAAC1 8FABC1 ï Ï ï
8FABC2 8FAAC2 8FABC2 î Î î
8FABC3 8FAAC3 8FABC3 ǐ Ǐ ǐ
8FABC5 8FAAC5 8FABC5 ī Ī ī
8FABC6 8FAAC6 8FABC6 į Į į
8FABC7 8FAAC7 8FABC7 ĩ Ĩ ĩ
8FABC8 8FAAC8 8FABC8 ĵ Ĵ ĵ
8FABC9 8FAAC9 8FABC9 ķ Ķ ķ
8FABCA 8FAACA 8FABCA ĺ Ĺ ĺ
8FABCB 8FAACB 8FABCB ľ Ľ ľ
8FABCC 8FAACC 8FABCC ļ Ļ ļ
8FABCD 8FAACD 8FABCD ń Ń ń
8FABCE 8FAACE 8FABCE ň Ň ň
8FABCF 8FAACF 8FABCF ņ Ņ ņ
8FABD0 8FAAD0 8FABD0 ñ Ñ ñ
8FABD1 8FAAD1 8FABD1 ó Ó ó
8FABD2 8FAAD2 8FABD2 ò Ò ò
8FABD3 8FAAD3 8FABD3 ö Ö ö
8FABD4 8FAAD4 8FABD4 ô Ô ô
8FABD5 8FAAD5 8FABD5 ǒ Ǒ ǒ
8FABD6 8FAAD6 8FABD6 ő Ő ő
8FABD7 8FAAD7 8FABD7 ō Ō ō
8FABD8 8FAAD8 8FABD8 õ Õ õ
8FABD9 8FAAD9 8FABD9 ŕ Ŕ ŕ
8FABDA 8FAADA 8FABDA ř Ř ř
8FABDB 8FAADB 8FABDB ŗ Ŗ ŗ
8FABDC 8FAADC 8FABDC ś Ś ś
8FABDD 8FAADD 8FABDD ŝ Ŝ ŝ
8FABDE 8FAADE 8FABDE š Š š
8FABDF 8FAADF 8FABDF ş Ş ş
8FABE0 8FAAE0 8FABE0 ť Ť ť
8FABE1 8FAAE1 8FABE1 ţ Ţ ţ
8FABE2 8FAAE2 8FABE2 ú Ú ú
8FABE3 8FAAE3 8FABE3 ù Ù ù
8FABE4 8FAAE4 8FABE4 ü Ü ü
8FABE5 8FAAE5 8FABE5 û Û û
8FABE6 8FAAE6 8FABE6 ŭ Ŭ ŭ
8FABE7 8FAAE7 8FABE7 ǔ Ǔ ǔ
8FABE8 8FAAE8 8FABE8 ű Ű ű
8FABE9 8FAAE9 8FABE9 ū Ū ū
8FABEA 8FAAEA 8FABEA ų Ų ų
8FABEB 8FAAEB 8FABEB ů Ů ů
8FABEC 8FAAEC 8FABEC ũ Ũ ũ
8FABED 8FAAED 8FABED ǘ Ǘ ǘ
8FABEE 8FAAEE 8FABEE ǜ Ǜ ǜ
8FABEF 8FAAEF 8FABEF ǚ Ǚ ǚ
8FABF0 8FAAF0 8FABF0 ǖ Ǖ ǖ
8FABF1 8FAAF1 8FABF1 ŵ Ŵ ŵ
8FABF2 8FAAF2 8FABF2 ý Ý ý
8FABF3 8FAAF3 8FABF3 ÿ Ÿ ÿ
8FABF4 8FAAF4 8FABF4 ŷ Ŷ ŷ
8FABF5 8FAAF5 8FABF5 ź Ź ź
8FABF6 8FAAF6 8FABF6 ž Ž ž
8FABF7 8FAAF7 8FABF7 ż Ż ż
A2F2 A2F2 8FABA9 Å Å å
A3C1 A3C1 A3E1
A3C2 A3C2 A3E2
A3C3 A3C3 A3E3
A3C4 A3C4 A3E4
A3C5 A3C5 A3E5
A3C6 A3C6 A3E6
A3C7 A3C7 A3E7
A3C8 A3C8 A3E8
A3C9 A3C9 A3E9
A3CA A3CA A3EA
A3CB A3CB A3EB
A3CC A3CC A3EC
A3CD A3CD A3ED
A3CE A3CE A3EE
A3CF A3CF A3EF
A3D0 A3D0 A3F0
A3D1 A3D1 A3F1
A3D2 A3D2 A3F2
A3D3 A3D3 A3F3
A3D4 A3D4 A3F4
A3D5 A3D5 A3F5
A3D6 A3D6 A3F6
A3D7 A3D7 A3F7
A3D8 A3D8 A3F8
A3D9 A3D9 A3F9
A3DA A3DA A3FA
A3E1 A3C1 A3E1
A3E2 A3C2 A3E2
A3E3 A3C3 A3E3
A3E4 A3C4 A3E4
A3E5 A3C5 A3E5
A3E6 A3C6 A3E6
A3E7 A3C7 A3E7
A3E8 A3C8 A3E8
A3E9 A3C9 A3E9
A3EA A3CA A3EA
A3EB A3CB A3EB
A3EC A3CC A3EC
A3ED A3CD A3ED
A3EE A3CE A3EE
A3EF A3CF A3EF
A3F0 A3D0 A3F0
A3F1 A3D1 A3F1
A3F2 A3D2 A3F2
A3F3 A3D3 A3F3
A3F4 A3D4 A3F4
A3F5 A3D5 A3F5
A3F6 A3D6 A3F6
A3F7 A3D7 A3F7
A3F8 A3D8 A3F8
A3F9 A3D9 A3F9
A3FA A3DA A3FA
A6A1 A6A1 A6C1 Α Α α
A6A2 A6A2 A6C2 Β Β β
A6A3 A6A3 A6C3 Γ Γ γ
A6A4 A6A4 A6C4 Δ Δ δ
A6A5 A6A5 A6C5 Ε Ε ε
A6A6 A6A6 A6C6 Ζ Ζ ζ
A6A7 A6A7 A6C7 Η Η η
A6A8 A6A8 A6C8 Θ Θ θ
A6A9 A6A9 A6C9 Ι Ι ι
A6AA A6AA A6CA Κ Κ κ
A6AB A6AB A6CB Λ Λ λ
A6AC A6AC A6CC Μ Μ μ
A6AD A6AD A6CD Ν Ν ν
A6AE A6AE A6CE Ξ Ξ ξ
A6AF A6AF A6CF Ο Ο ο
A6B0 A6B0 A6D0 Π Π π
A6B1 A6B1 A6D1 Ρ Ρ ρ
A6B2 A6B2 A6D2 Σ Σ σ
A6B3 A6B3 A6D3 Τ Τ τ
A6B4 A6B4 A6D4 Υ Υ υ
A6B5 A6B5 A6D5 Φ Φ φ
A6B6 A6B6 A6D6 Χ Χ χ
A6B7 A6B7 A6D7 Ψ Ψ ψ
A6B8 A6B8 A6D8 Ω Ω ω
A6C1 A6A1 A6C1 α Α α
A6C2 A6A2 A6C2 β Β β
A6C3 A6A3 A6C3 γ Γ γ
A6C4 A6A4 A6C4 δ Δ δ
A6C5 A6A5 A6C5 ε Ε ε
A6C6 A6A6 A6C6 ζ Ζ ζ
A6C7 A6A7 A6C7 η Η η
A6C8 A6A8 A6C8 θ Θ θ
A6C9 A6A9 A6C9 ι Ι ι
A6CA A6AA A6CA κ Κ κ
A6CB A6AB A6CB λ Λ λ
A6CC A6AC A6CC μ Μ μ
A6CD A6AD A6CD ν Ν ν
A6CE A6AE A6CE ξ Ξ ξ
A6CF A6AF A6CF ο Ο ο
A6D0 A6B0 A6D0 π Π π
A6D1 A6B1 A6D1 ρ Ρ ρ
A6D2 A6B2 A6D2 σ Σ σ
A6D3 A6B3 A6D3 τ Τ τ
A6D4 A6B4 A6D4 υ Υ υ
A6D5 A6B5 A6D5 φ Φ φ
A6D6 A6B6 A6D6 χ Χ χ
A6D7 A6B7 A6D7 ψ Ψ ψ
A6D8 A6B8 A6D8 ω Ω ω
A7A1 A7A1 A7D1 А А а
A7A2 A7A2 A7D2 Б Б б
A7A3 A7A3 A7D3 В В в
A7A4 A7A4 A7D4 Г Г г
A7A5 A7A5 A7D5 Д Д д
A7A6 A7A6 A7D6 Е Е е
A7A7 A7A7 A7D7 Ё Ё ё
A7A8 A7A8 A7D8 Ж Ж ж
A7A9 A7A9 A7D9 З З з
A7AA A7AA A7DA И И и
A7AB A7AB A7DB Й Й й
A7AC A7AC A7DC К К к
A7AD A7AD A7DD Л Л л
A7AE A7AE A7DE М М м
A7AF A7AF A7DF Н Н н
A7B0 A7B0 A7E0 О О о
A7B1 A7B1 A7E1 П П п
A7B2 A7B2 A7E2 Р Р р
A7B3 A7B3 A7E3 С С с
A7B4 A7B4 A7E4 Т Т т
A7B5 A7B5 A7E5 У У у
A7B6 A7B6 A7E6 Ф Ф ф
A7B7 A7B7 A7E7 Х Х х
A7B8 A7B8 A7E8 Ц Ц ц
A7B9 A7B9 A7E9 Ч Ч ч
A7BA A7BA A7EA Ш Ш ш
A7BB A7BB A7EB Щ Щ щ
A7BC A7BC A7EC Ъ Ъ ъ
A7BD A7BD A7ED Ы Ы ы
A7BE A7BE A7EE Ь Ь ь
A7BF A7BF A7EF Э Э э
A7C0 A7C0 A7F0 Ю Ю ю
A7C1 A7C1 A7F1 Я Я я
A7D1 A7A1 A7D1 а А а
A7D2 A7A2 A7D2 б Б б
A7D3 A7A3 A7D3 в В в
A7D4 A7A4 A7D4 г Г г
A7D5 A7A5 A7D5 д Д д
A7D6 A7A6 A7D6 е Е е
A7D7 A7A7 A7D7 ё Ё ё
A7D8 A7A8 A7D8 ж Ж ж
A7D9 A7A9 A7D9 з З з
A7DA A7AA A7DA и И и
A7DB A7AB A7DB й Й й
A7DC A7AC A7DC к К к
A7DD A7AD A7DD л Л л
A7DE A7AE A7DE м М м
A7DF A7AF A7DF н Н н
A7E0 A7B0 A7E0 о О о
A7E1 A7B1 A7E1 п П п
A7E2 A7B2 A7E2 р Р р
A7E3 A7B3 A7E3 с С с
A7E4 A7B4 A7E4 т Т т
A7E5 A7B5 A7E5 у У у
A7E6 A7B6 A7E6 ф Ф ф
A7E7 A7B7 A7E7 х Х х
A7E8 A7B8 A7E8 ц Ц ц
A7E9 A7B9 A7E9 ч Ч ч
A7EA A7BA A7EA ш Ш ш
A7EB A7BB A7EB щ Щ щ
A7EC A7BC A7EC ъ Ъ ъ
A7ED A7BD A7ED ы Ы ы
A7EE A7BE A7EE ь Ь ь
A7EF A7BF A7EF э Э э
A7F0 A7C0 A7F0 ю Ю ю
A7F1 A7C1 A7F1 я Я я
SELECT * FROM t1
WHERE HEX(CAST(LOWER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(LOWER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
code a
8FAABC Ģ
SELECT * FROM t1
WHERE HEX(CAST(UPPER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(UPPER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
code a
8FA9C3 ð
8FABB9 ǵ
DROP TABLE t1;
#
# End of 5.5 tests
#

View file

@ -84,3 +84,64 @@ select hex(a) from t1;
drop table t1;
--echo End of 5.0 tests
--echo #
--echo # Start of 5.5 tests
--echo #
--echo #
--echo # Testing WL#4583 Case conversion in Asian character sets
--echo #
#
# Populate t1 with all hex digits
#
SET NAMES utf8;
SET collation_connection=big5_chinese_ci;
CREATE TABLE t1 (b VARCHAR(2));
INSERT INTO t1 VALUES ('0'),('1'),('2'),('3'),('4'),('5'),('6'),('7');
INSERT INTO t1 VALUES ('8'),('9'),('A'),('B'),('C'),('D'),('E'),('F');
#
# Populate tables head and tail with values '00'-'FF'
#
CREATE TEMPORARY TABLE head AS SELECT concat(b1.b, b2.b) AS head FROM t1 b1, t1 b2;
CREATE TEMPORARY TABLE tail AS SELECT concat(b1.b, b2.b) AS tail FROM t1 b1, t1 b2;
DROP TABLE t1;
#
# Populate table t1 with all values [80..FF][20..FF]
# Expected valid big5 codes: [A1..F9][40..7E,A1..FE] (89x157=13973)
#
CREATE TABLE t1 AS
SELECT concat(head, tail) AS code, ' ' AS a
FROM head, tail
WHERE (head BETWEEN '80' AND 'FF') AND (tail BETWEEN '20' AND 'FF')
ORDER BY head, tail;
DROP TEMPORARY TABLE head, tail;
SHOW CREATE TABLE t1;
SELECT COUNT(*) FROM t1;
UPDATE t1 SET a=unhex(code) ORDER BY code;
SELECT COUNT(*) FROM t1 WHERE a<>'';
#
# Display all characters that have upper or lower case mapping.
#
SELECT code, hex(upper(a)), hex(lower(a)),a, upper(a), lower(a) FROM t1 WHERE hex(a)<>hex(upper(a)) OR hex(a)<>hex(lower(a));
#
# Make sure all possible conversion happened
#
# Expect U+2160 to U+2169 ROMAN NUMERAL ONE to ROMAN NUMERAL TEN
#
SELECT * FROM t1
WHERE HEX(CAST(LOWER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(LOWER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
#
# Expect U+0430 to U+0433 CYRILLIC SMALL LETTER A, BE, VE, GHE
# Expect U+043D to U+0442 CYRILLIC SMALL LETTER EN, O, PE, ER, ES, TE
#
SELECT * FROM t1
WHERE HEX(CAST(UPPER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(UPPER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
DROP TABLE t1;
--echo #
--echo # End of 5.5 tests
--echo #

View file

@ -41,3 +41,79 @@ SELECT hex(a), hex(lower(a)), hex(upper(a)) FROM t1 ORDER BY binary(a);
DROP TABLE t1;
--echo End of 5.1 tests
--echo #
--echo # Start of 5.5 tests
--echo #
--echo #
--echo # Testing WL#4583 Case conversion in Asian character sets
--echo #
#
# Populate t1 with all hex digits
#
SET NAMES utf8;
SET collation_connection=cp932_japanese_ci;
CREATE TABLE t1 (b VARCHAR(2));
INSERT INTO t1 VALUES ('0'),('1'),('2'),('3'),('4'),('5'),('6'),('7');
INSERT INTO t1 VALUES ('8'),('9'),('A'),('B'),('C'),('D'),('E'),('F');
#
# Populate tables head and tail with values '00'-'FF'
#
CREATE TEMPORARY TABLE head AS SELECT concat(b1.b, b2.b) AS head FROM t1 b1, t1 b2;
CREATE TEMPORARY TABLE tail AS SELECT concat(b1.b, b2.b) AS tail FROM t1 b1, t1 b2;
DROP TABLE t1;
#
# Populate table t1 with all codes [80..FF][20..FF]
# excluding Half Width Kana [A1..DF]
# Expected valid cp932 multibyte codes:
# [81..9F,E0..FC][40..7E,80..fC] (60x188=11280 characters)
#
CREATE TABLE t1 AS
SELECT concat(head, tail) AS code, ' ' AS a
FROM head, tail
WHERE (head BETWEEN '80' AND 'FF') AND (head NOT BETWEEN 'A1' AND 'DF')
AND (tail BETWEEN '20' AND 'FF')
ORDER BY head, tail;
#
# Populate t1 with Half Width Kana [A1..DF]
#
INSERT t1 (code) SELECT head FROM head
WHERE (head BETWEEN 'A1' AND 'DF')
ORDER BY head;
DROP TEMPORARY TABLE head, tail;
SHOW CREATE TABLE t1;
UPDATE t1 SET a=unhex(code) ORDER BY code;
SELECT COUNT(*) FROM t1;
SELECT COUNT(*) FROM t1 WHERE a<>'' AND OCTET_LENGTH(a)=1;
SELECT COUNT(*) FROM t1 WHERE a<>'' AND OCTET_LENGTH(a)=2;
#
# Display all characters that have upper or lower case mapping.
#
SELECT code, hex(upper(a)), hex(lower(a)),a, upper(a), lower(a) FROM t1
WHERE hex(a)<>hex(upper(a)) OR hex(a)<>hex(lower(a))
ORDER BY code;
#
# Make sure all possible conversion happened
#
# Expect U+212B ANGSTROM SIGN
#
SELECT * FROM t1
WHERE HEX(CAST(LOWER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(LOWER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
#
# Expect no results
#
SELECT * FROM t1
WHERE HEX(CAST(UPPER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(UPPER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
DROP TABLE t1;
--echo #
--echo # End of 5.5 tests
--echo #

View file

@ -381,3 +381,89 @@ select hex(convert(_eucjpms 0xA5FE41 using ucs2));
# the next character, which is a single byte character 0x41.
select hex(convert(_eucjpms 0x8FABF841 using ucs2));
--echo #
--echo # Start of 5.5 tests
--echo #
--echo #
--echo # Testing WL#4583 Case conversion in Asian character sets
--echo #
#
# Populate t1 with all hex digits
#
SET NAMES utf8;
SET collation_connection=eucjpms_japanese_ci;
CREATE TABLE t1 (b VARCHAR(2));
INSERT INTO t1 VALUES ('0'),('1'),('2'),('3'),('4'),('5'),('6'),('7');
INSERT INTO t1 VALUES ('8'),('9'),('A'),('B'),('C'),('D'),('E'),('F');
#
# Populate tables head and tail with values '00'-'FF'
#
CREATE TEMPORARY TABLE head AS SELECT concat(b1.b, b2.b) AS head FROM t1 b1, t1 b2;
CREATE TEMPORARY TABLE tail AS SELECT concat(b1.b, b2.b) AS tail FROM t1 b1, t1 b2;
DROP TABLE t1;
#
# Populate table t1 with all eucjpms codes.
#
CREATE TABLE t1 AS SELECT 'XXXXXX' AS code, ' ' AS a LIMIT 0;
#
# Pupulate JIS-X-0201 range (Half Width Kana)
# Expected valid code range: [8E][A1..DF] (1x63 characters)
#
INSERT INTO t1 (code) SELECT concat('8E', head) FROM head
WHERE (head BETWEEN 'A1' AND 'DF') ORDER BY head;
#
# Populate JIS-X-0208 range
# Expected valid codes: [A1..FE][A1..FE] (94x94=8836 characters)
#
INSERT INTO t1 (code) SELECT concat(head, tail)
FROM head, tail
WHERE (head BETWEEN '80' AND 'FF') AND (head NOT BETWEEN '8E' AND '8F')
AND (tail BETWEEN '20' AND 'FF')
ORDER BY head, tail;
#
# Populate JIS-X-0212 range
# Expected valid codes [8F][A1..FE][A1..FE] (1x94x94=8836 characters)
#
INSERT INTO t1 (code) SELECT concat('8F', head, tail)
FROM head, tail
WHERE (head BETWEEN '80' AND 'FF') AND (tail BETWEEN '20' AND 'FF')
ORDER BY head, tail;
DROP TEMPORARY TABLE head, tail;
SHOW CREATE TABLE t1;
UPDATE t1 SET a=unhex(code) ORDER BY code;
SELECT COUNT(*) FROM t1;
SELECT COUNT(*) FROM t1 WHERE a<>'';
SELECT COUNT(*) FROM t1 WHERE a<>'' AND OCTET_LENGTH(a)=2;
SELECT * FROM t1 WHERE CHAR_LENGTH(a)=2;
SELECT COUNT(*) FROM t1 WHERE a<>'' AND OCTET_LENGTH(a)=3;
#
# Display all characters that have upper or lower case mapping.
#
SELECT code, hex(upper(a)), hex(lower(a)),a, upper(a), lower(a) FROM t1 WHERE hex(a)<>hex(upper(a)) OR hex(a)<>hex(lower(a)) ORDER BY code;
#
# Make sure all possible conversion happened
#
# Expect U+0122 LATIN CAPITAL LETTER G WITH CEDILLA
#
SELECT * FROM t1
WHERE HEX(CAST(LOWER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(LOWER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
#
# Expect U+00F0 LATIN SMALL LETTER ETH
# Expect U+01F5 LATIN SMALL LETTER G WITH ACUTE
#
SELECT * FROM t1
WHERE HEX(CAST(UPPER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(UPPER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
DROP TABLE t1;
--echo #
--echo # End of 5.5 tests
--echo #

View file

@ -107,3 +107,68 @@ SELECT s, hex(a), hex(u), hex(a2) FROM t2 ORDER BY s;
DROP TABLE t1, t2;
--echo End of 5.4 tests
--echo #
--echo # Start of 5.5 tests
--echo #
--echo #
--echo # Testing WL#4583 Case conversion in Asian character sets
--echo #
#
# Populate t1 with all hex digits
#
SET NAMES utf8;
SET collation_connection=euckr_korean_ci;
CREATE TABLE t1 (b VARCHAR(2));
INSERT INTO t1 VALUES ('0'),('1'),('2'),('3'),('4'),('5'),('6'),('7');
INSERT INTO t1 VALUES ('8'),('9'),('A'),('B'),('C'),('D'),('E'),('F');
#
# Populate tables head and tail with values '00'-'FF'
#
CREATE TEMPORARY TABLE head AS SELECT concat(b1.b, b2.b) AS head FROM t1 b1, t1 b2;
CREATE TEMPORARY TABLE tail AS SELECT concat(b1.b, b2.b) AS tail FROM t1 b1, t1 b2;
DROP TABLE t1;
#
# Populate table t1 with all codes [80..FF][20..FF]
# Expected valid euckr codes: [81..FE][41..5A,61..7A,81..FE]
#
CREATE TABLE t1 AS
SELECT concat(head, tail) AS code, ' ' AS a
FROM head, tail
WHERE (head BETWEEN '80' AND 'FF') AND (tail BETWEEN '20' AND 'FF')
ORDER BY head, tail;
DROP TEMPORARY TABLE head, tail;
SHOW CREATE TABLE t1;
UPDATE t1 SET a=unhex(code) ORDER BY code;
SELECT COUNT(*) FROM t1 WHERE a<>'';
#
# Display all characters that have upper or lower case mapping.
#
SELECT code, hex(upper(a)), hex(lower(a)),a, upper(a), lower(a) FROM t1 WHERE hex(a)<>hex(upper(a)) OR hex(a)<>hex(lower(a));
#
# Make sure all possible conversion happened
#
# Expect U+212B ANGSTROM SIGN
#
SELECT * FROM t1
WHERE HEX(CAST(LOWER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(LOWER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
#
# Expect U+0111 LATIN SMALL LETTER D WITH STROKE
# Expect U+24D0 to U+24E9 CIRCLED LATIN SMALL LETTER A to Z
#
SELECT * FROM t1
WHERE HEX(CAST(UPPER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(UPPER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
DROP TABLE t1;
--echo #
--echo # End of 5.5 tests
--echo #

View file

@ -33,3 +33,94 @@ SELECT hex(a) FROM t1 ORDER BY a;
DROP TABLE t1;
# End of 4.1 tests
--echo #
--echo # Start of 5.5 tests
--echo #
--echo #
--echo # Testing WL#4583 Case conversion in Asian character sets
--echo #
#
# Populate t1 with all hex digits
#
SET NAMES utf8;
SET collation_connection=gb2312_chinese_ci;
CREATE TABLE t1 (b VARCHAR(2));
INSERT INTO t1 VALUES ('0'),('1'),('2'),('3'),('4'),('5'),('6'),('7');
INSERT INTO t1 VALUES ('8'),('9'),('A'),('B'),('C'),('D'),('E'),('F');
#
# Populate tables head and tail with values '00'-'FF'
#
CREATE TEMPORARY TABLE head AS SELECT concat(b1.b, b2.b) AS head FROM t1 b1, t1 b2;
CREATE TEMPORARY TABLE tail AS SELECT concat(b1.b, b2.b) AS tail FROM t1 b1, t1 b2;
DROP TABLE t1;
#
# Populate table t1 with all codes [80..FF][20..FF]
# Expected valid gb2312 codes [A1..F7][A1..FE]
#
CREATE TABLE t1 AS
SELECT concat(head, tail) AS code, ' ' AS a
FROM head, tail
WHERE (head BETWEEN '80' AND 'FF') AND (tail BETWEEN '20' AND 'FF')
ORDER BY head, tail;
DROP TEMPORARY TABLE head, tail;
SHOW CREATE TABLE t1;
UPDATE t1 SET a=unhex(code) ORDER BY code;
SELECT COUNT(*) FROM t1 WHERE a<>'';
#
# Display all characters that have upper or lower case mapping.
#
SELECT code, hex(upper(a)), hex(lower(a)),a, upper(a), lower(a) FROM t1 WHERE hex(a)<>hex(upper(a)) OR hex(a)<>hex(lower(a));
#
# Make sure all possible conversion happened
#
# Expect U+2160 to U+216B ROMAN NUMERAL ONE to ROMAN NUMERAL TWELVE
#
SELECT * FROM t1
WHERE HEX(CAST(LOWER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(LOWER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
#
# Expect
# U+00E0 LATIN SMALL LETTER A WITH GRAVE
# U+00E1 LATIN SMALL LETTER A WITH ACUTE
# U+00E8 LATIN SMALL LETTER E WITH GRAVE
# U+00E9 LATIN SMALL LETTER E WITH ACUTE
# U+00EA LATIN SMALL LETTER E WITH CIRCUMFLEX
# U+00EC LATIN SMALL LETTER I WITH GRAVE
# U+00ED LATIN SMALL LETTER I WITH ACUTE
# U+00F2 LATIN SMALL LETTER O WITH GRAVE
# U+00F3 LATIN SMALL LETTER O WITH ACUTE
# U+00F9 LATIN SMALL LETTER U WITH GRAVE
# U+00FA LATIN SMALL LETTER U WITH ACUTE
# U+00FC LATIN SMALL LETTER U WITH DIAERESIS
# U+0101 LATIN SMALL LETTER A WITH MACRON
# U+0113 LATIN SMALL LETTER E WITH MACRON
# U+011B LATIN SMALL LETTER E WITH CARON
# U+012B LATIN SMALL LETTER I WITH MACRON
# U+0144 LATIN SMALL LETTER N WITH ACUTE
# U+0148 LATIN SMALL LETTER N WITH CARON
# U+014D LATIN SMALL LETTER O WITH MACRON
# U+016B LATIN SMALL LETTER U WITH MACRON
# U+01CE LATIN SMALL LETTER A WITH CARON
# U+01D0 LATIN SMALL LETTER I WITH CARON
# U+01D2 LATIN SMALL LETTER O WITH CARON
# U+01D4 LATIN SMALL LETTER U WITH CARON
# U+01D6 LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
# U+01D8 LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
# U+01DA LATIN SMALL LETTER U WITH DIAERESIS AND CARON
# U+01DC LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
#
SELECT * FROM t1
WHERE HEX(CAST(UPPER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(UPPER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
DROP TABLE t1;
--echo #
--echo # End of 5.5 tests
--echo #

View file

@ -68,3 +68,94 @@ SELECT b FROM t1 GROUP BY 1 LIMIT 1 INTO @nullll;
DROP TABLES t1;
--echo End of 5.0 tests
--echo #
--echo # Start of 5.5 tests
--echo #
--echo #
--echo # Testing WL#4583 Case conversion in Asian character sets
--echo #
#
# Populate t1 with all hex digits
#
SET NAMES utf8;
SET collation_connection=gbk_chinese_ci;
CREATE TABLE t1 (b VARCHAR(2));
INSERT INTO t1 VALUES ('0'),('1'),('2'),('3'),('4'),('5'),('6'),('7');
INSERT INTO t1 VALUES ('8'),('9'),('A'),('B'),('C'),('D'),('E'),('F');
#
# Populate tables head and tail with values '00'-'FF'
#
CREATE TEMPORARY TABLE head AS SELECT concat(b1.b, b2.b) AS head FROM t1 b1, t1 b2;
CREATE TEMPORARY TABLE tail AS SELECT concat(b1.b, b2.b) AS tail FROM t1 b1, t1 b2;
DROP TABLE t1;
#
# Populate table t1 with all codes [80..FF][20..FF]
# Expected valid gbk codes [81..FE][40..7E,80..FE]
#
CREATE TABLE t1 AS
SELECT concat(head, tail) AS code, ' ' AS a
FROM head, tail
WHERE (head BETWEEN '80' AND 'FF') AND (tail BETWEEN '20' AND 'FF')
ORDER BY head, tail;
DROP TEMPORARY TABLE head, tail;
SHOW CREATE TABLE t1;
UPDATE t1 SET a=unhex(code) ORDER BY code;
SELECT COUNT(*) FROM t1 WHERE a<>'';
#
# Display all characters that have upper or lower case mapping.
#
SELECT code, hex(upper(a)), hex(lower(a)),a, upper(a), lower(a) FROM t1 WHERE hex(a)<>hex(upper(a)) OR hex(a)<>hex(lower(a));
#
# Make sure all possible conversion happened
#
# Expect U+216A to U+216B ROMAN NUMERAL ELEVEN to ROMAN TWELVE
#
SELECT * FROM t1
WHERE HEX(CAST(LOWER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(LOWER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
#
# Expect
# U+00E0 LATIN SMALL LETTER A WITH GRAVE
# U+00E1 LATIN SMALL LETTER A WITH ACUTE
# U+00E8 LATIN SMALL LETTER E WITH GRAVE
# U+00E9 LATIN SMALL LETTER E WITH ACUTE
# U+00EA LATIN SMALL LETTER E WITH CIRCUMFLEX
# U+00EC LATIN SMALL LETTER I WITH GRAVE
# U+00ED LATIN SMALL LETTER I WITH ACUTE
# U+00F2 LATIN SMALL LETTER O WITH GRAVE
# U+00F3 LATIN SMALL LETTER O WITH ACUTE
# U+00F9 LATIN SMALL LETTER U WITH GRAVE
# U+00FA LATIN SMALL LETTER U WITH ACUTE
# U+00FC LATIN SMALL LETTER U WITH DIAERESIS
# U+0101 LATIN SMALL LETTER A WITH MACRON
# U+0113 LATIN SMALL LETTER E WITH MACRON
# U+011B LATIN SMALL LETTER E WITH CARON
# U+012B LATIN SMALL LETTER I WITH MACRON
# U+0144 LATIN SMALL LETTER N WITH ACUTE
# U+0148 LATIN SMALL LETTER N WITH CARON
# U+014D LATIN SMALL LETTER O WITH MACRON
# U+016B LATIN SMALL LETTER U WITH MACRON
# U+01CE LATIN SMALL LETTER A WITH CARON
# U+01D0 LATIN SMALL LETTER I WITH CARON
# U+01D2 LATIN SMALL LETTER O WITH CARON
# U+01D4 LATIN SMALL LETTER U WITH CARON
# U+01D6 LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
# U+01D8 LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
# U+01DA LATIN SMALL LETTER U WITH DIAERESIS AND CARON
# U+01DC LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
#
SELECT * FROM t1
WHERE HEX(CAST(UPPER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(UPPER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
DROP TABLE t1;
--echo #
--echo # End of 5.5 tests
--echo #

View file

@ -93,3 +93,78 @@ SELECT hex(a), hex(lower(a)), hex(upper(a)) FROM t1 ORDER BY binary(a);
DROP TABLE t1;
--echo # End of 5.1 tests
--echo #
--echo # Start of 5.5 tests
--echo #
--echo #
--echo # Testing WL#4583 Case conversion in Asian character sets
--echo #
#
# Populate t1 with all hex digits
#
SET NAMES utf8;
SET collation_connection=sjis_japanese_ci;
CREATE TABLE t1 (b VARCHAR(2));
INSERT INTO t1 VALUES ('0'),('1'),('2'),('3'),('4'),('5'),('6'),('7');
INSERT INTO t1 VALUES ('8'),('9'),('A'),('B'),('C'),('D'),('E'),('F');
#
# Populate tables head and tail with values '00'-'FF'
#
CREATE TEMPORARY TABLE head AS SELECT concat(b1.b, b2.b) AS head FROM t1 b1, t1 b2;
CREATE TEMPORARY TABLE tail AS SELECT concat(b1.b, b2.b) AS tail FROM t1 b1, t1 b2;
DROP TABLE t1;
#
# Populate table t1 with all codes [80..FF][20..FF]
# excluding Half Width Kana [A1..DF]
# Expected valid sjis codes:
# [81..9F,E0..FC][40..7E,80..fC] (60x188=11280 characters)
#
CREATE TABLE t1 AS
SELECT concat(head, tail) AS code, ' ' AS a
FROM head, tail
WHERE (head BETWEEN '80' AND 'FF') AND (head NOT BETWEEN 'A1' AND 'DF')
AND (tail BETWEEN '20' AND 'FF')
ORDER BY head, tail;
#
# Populate Half Width Kana: [A1..DF]
#
INSERT t1 (code) SELECT head FROM head WHERE (head BETWEEN 'A1' AND 'DF');
DROP TEMPORARY TABLE head, tail;
SHOW CREATE TABLE t1;
UPDATE t1 SET a=unhex(code) ORDER BY code;
SELECT COUNT(*) FROM t1;
SELECT COUNT(*) FROM t1 WHERE a<>'' AND OCTET_LENGTH(a)=1;
SELECT COUNT(*) FROM t1 WHERE a<>'' AND OCTET_LENGTH(a)=2;
#
# Display all characters that have upper or lower case mapping.
#
SELECT code, hex(upper(a)), hex(lower(a)),a, upper(a), lower(a)
FROM t1
WHERE hex(a)<>hex(upper(a)) OR hex(a)<>hex(lower(a))
ORDER BY code;
#
# Make sure all possible conversion happened
#
# Expect U+212B ANGSTROM SIGN
#
SELECT * FROM t1
WHERE HEX(CAST(LOWER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(LOWER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
#
# Expect no results
#
SELECT * FROM t1
WHERE HEX(CAST(UPPER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(UPPER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
DROP TABLE t1;
--echo #
--echo # End of 5.5 tests
--echo #

View file

@ -1212,3 +1212,88 @@ DROP TABLE t2;
set names default;
set character_set_database=default;
set character_set_server=default;
--echo #
--echo # Start of 5.5 tests
--echo #
--echo #
--echo # Testing WL#4583 Case conversion in Asian character sets
--echo #
#
# Populate t1 with all hex digits
#
SET NAMES utf8;
SET collation_connection=ujis_japanese_ci;
CREATE TABLE t1 (b VARCHAR(2));
INSERT INTO t1 VALUES ('0'),('1'),('2'),('3'),('4'),('5'),('6'),('7');
INSERT INTO t1 VALUES ('8'),('9'),('A'),('B'),('C'),('D'),('E'),('F');
#
# Populate tables head and tail with values '00'-'FF'
#
CREATE TEMPORARY TABLE head AS SELECT concat(b1.b, b2.b) AS head FROM t1 b1, t1 b2;
CREATE TEMPORARY TABLE tail AS SELECT concat(b1.b, b2.b) AS tail FROM t1 b1, t1 b2;
DROP TABLE t1;
#
# Populate table t1 with all ujis codes.
#
#
CREATE TABLE t1 AS SELECT 'XXXXXX' AS code, ' ' AS a LIMIT 0;
#
# Pupulate JIS-X-0201 range (Half Width Kana)
# Valid characters: [8E][A1-DF]
#
INSERT INTO t1 (code) SELECT concat('8E', head) FROM head
WHERE (head BETWEEN 'A1' AND 'DF') ORDER BY head;
#
# Populate JIS-X-0208 range
# Expected valid range: [A1..FE][A1..FE]
#
INSERT INTO t1 (code) SELECT concat(head, tail)
FROM head, tail
WHERE (head BETWEEN '80' AND 'FF') AND (head NOT BETWEEN '8E' AND '8F')
AND (tail BETWEEN '20' AND 'FF')
ORDER BY head, tail;
#
# Populate JIS-X-0212 range
# Expected valid range: [8F][A1..FE][A1..FE]
#
INSERT INTO t1 (code) SELECT concat('8F', head, tail)
FROM head, tail
WHERE (head BETWEEN '80' AND 'FF') AND (tail BETWEEN '80' AND 'FF')
ORDER BY head, tail;
DROP TEMPORARY TABLE head, tail;
SHOW CREATE TABLE t1;
UPDATE t1 SET a=unhex(code) ORDER BY code;
SELECT COUNT(*) FROM t1;
SELECT COUNT(*) FROM t1 WHERE a<>'';
SELECT COUNT(*) FROM t1 WHERE a<>'' AND OCTET_LENGTH(a)=2;
SELECT COUNT(*) FROM t1 WHERE a<>'' AND OCTET_LENGTH(a)=3;
#
# Display all characters that have upper or lower case mapping.
#
SELECT code, hex(upper(a)), hex(lower(a)),a, upper(a), lower(a) FROM t1 WHERE hex(a)<>hex(upper(a)) OR hex(a)<>hex(lower(a)) ORDER BY code;
#
# Make sure all possible conversion happened
#
# Expect U+0122 LATIN CAPITAL LETTER G WITH CEDILLA
#
SELECT * FROM t1
WHERE HEX(CAST(LOWER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(LOWER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
#
# U+00F0 LATIN SMALL LETTER ETH
# U+01F5 LATIN SMALL LETTER G WITH ACUTE
#
SELECT * FROM t1
WHERE HEX(CAST(UPPER(a) AS CHAR CHARACTER SET utf8)) <>
HEX(UPPER(CAST(a AS CHAR CHARACTER SET utf8))) ORDER BY code;
DROP TABLE t1;
--echo #
--echo # End of 5.5 tests
--echo #

View file

@ -3337,6 +3337,16 @@ static int init_common_variables()
strmake(pidfile_name, default_logfile_name, sizeof(pidfile_name)-5);
strmov(fn_ext(pidfile_name),".pid"); // Add proper extension
/*
The default-storage-engine entry in my_long_options should have a
non-null default value. It was earlier intialized as
(longlong)"MyISAM" in my_long_options but this triggered a
compiler error in the Sun Studio 12 compiler. As a work-around we
set the def_value member to 0 in my_long_options and initialize it
to the correct value here.
*/
default_storage_engine="MyISAM";
/*
Add server status variables to the dynamic list of
status variables that is shown by SHOW STATUS.
@ -5954,9 +5964,12 @@ struct my_option my_long_options[]=
{"default-collation", 0, "Set the default collation (deprecated option, use --collation-server instead).",
(uchar**) &default_collation_name, (uchar**) &default_collation_name,
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0 },
/* default-storage-engine should have "MyISAM" as def_value. Instead
of initializing it here it is done in init_common_variables() due
to a compiler bug in Sun Studio compiler. */
{"default-storage-engine", 0, "The default storage engine for new tables",
(uchar**) &default_storage_engine, 0, 0, GET_STR, REQUIRED_ARG,
(longlong)"MyISAM", 0, 0, 0, 0, 0 },
0, 0, 0, 0, 0, 0 },
{"default-time-zone", 0, "Set the default time zone.",
(uchar**) &default_tz_name, (uchar**) &default_tz_name,
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0 },

View file

@ -6235,8 +6235,6 @@ ER_BINLOG_UNSAFE_NONTRANS_AFTER_TRANS
ER_MESSAGE_AND_STATEMENT
eng "%s Statement: %s"
ER_SLAVE_IGNORE_SERVER_IDS
eng "The requested server id %d clashes with the slave startup option --replicate-same-server-id"
ER_DEBUG_SYNC_TIMEOUT
eng "debug sync point wait timed out"
ger "Debug Sync Point Wartezeit überschritten"

View file

@ -176,6 +176,623 @@ static uchar NEAR sort_order_big5[]=
(uchar) '\370',(uchar) '\371',(uchar) '\372',(uchar) '\373',(uchar) '\374',(uchar) '\375',(uchar) '\376',(uchar) '\377',
};
static MY_UNICASE_INFO cA2[256]=
{
/* A200-A20F */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
/* A210-A21F */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
/* A220-A22F */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
/* A230-A23F */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
/* A240-A24F */
{0xA240,0xA240,0xFFFD},
{0xA241,0xA241,0xFF0F},
{0xA242,0xA242,0xFF3C},
{0xA243,0xA243,0xFF04},
{0xA244,0xA244,0x00A5},
{0xA245,0xA245,0x3012},
{0xA246,0xA246,0x00A2},
{0xA247,0xA247,0x00A3},
{0xA248,0xA248,0xFF05},
{0xA249,0xA249,0xFF20},
{0xA24A,0xA24A,0x2103},
{0xA24B,0xA24B,0x2109},
{0xA24C,0xA24C,0xFE69},
{0xA24D,0xA24D,0xFE6A},
{0xA24E,0xA24E,0xFE6B},
{0xA24F,0xA24F,0x33D5},
/* A250-A25F */
{0xA250,0xA250,0x339C},
{0xA251,0xA251,0x339D},
{0xA252,0xA252,0x339E},
{0xA253,0xA253,0x33CE},
{0xA254,0xA254,0x33A1},
{0xA255,0xA255,0x338E},
{0xA256,0xA256,0x338F},
{0xA257,0xA257,0x33C4},
{0xA258,0xA258,0x00B0},
{0xA259,0xA259,0x5159},
{0xA25A,0xA25A,0x515B},
{0xA25B,0xA25B,0x515E},
{0xA25C,0xA25C,0x515D},
{0xA25D,0xA25D,0x5161},
{0xA25E,0xA25E,0x5163},
{0xA25F,0xA25F,0x55E7},
/* A260-A26F */
{0xA260,0xA260,0x74E9},
{0xA261,0xA261,0x7CCE},
{0xA262,0xA262,0x2581},
{0xA263,0xA263,0x2582},
{0xA264,0xA264,0x2583},
{0xA265,0xA265,0x2584},
{0xA266,0xA266,0x2585},
{0xA267,0xA267,0x2586},
{0xA268,0xA268,0x2587},
{0xA269,0xA269,0x2588},
{0xA26A,0xA26A,0x258F},
{0xA26B,0xA26B,0x258E},
{0xA26C,0xA26C,0x258D},
{0xA26D,0xA26D,0x258C},
{0xA26E,0xA26E,0x258B},
{0xA26F,0xA26F,0x258A},
/* A270-A27F */
{0xA270,0xA270,0x2589},
{0xA271,0xA271,0x253C},
{0xA272,0xA272,0x2534},
{0xA273,0xA273,0x252C},
{0xA274,0xA274,0x2524},
{0xA275,0xA275,0x251C},
{0xA276,0xA276,0x2594},
{0xA277,0xA277,0x2500},
{0xA278,0xA278,0x2502},
{0xA279,0xA279,0x2595},
{0xA27A,0xA27A,0x250C},
{0xA27B,0xA27B,0x2510},
{0xA27C,0xA27C,0x2514},
{0xA27D,0xA27D,0x2518},
{0xA27E,0xA27E,0x256D},
{0x0000,0x0000,0x0000},
/* A280-A28F */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
/* A290-A29F */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
/* A2A0-A2AF */
{0x0000,0x0000,0x0000},
{0xA2A1,0xA2A1,0x256E},
{0xA2A2,0xA2A2,0x2570},
{0xA2A3,0xA2A3,0x256F},
{0xA2A4,0xA2A4,0x2550},
{0xA2A5,0xA2A5,0x255E},
{0xA2A6,0xA2A6,0x256A},
{0xA2A7,0xA2A7,0x2561},
{0xA2A8,0xA2A8,0x25E2},
{0xA2A9,0xA2A9,0x25E3},
{0xA2AA,0xA2AA,0x25E5},
{0xA2AB,0xA2AB,0x25E4},
{0xA2AC,0xA2AC,0x2571},
{0xA2AD,0xA2AD,0x2572},
{0xA2AE,0xA2AE,0x2573},
{0xA2AF,0xA2AF,0xFF10},
/* A2B0-A2BF */
{0xA2B0,0xA2B0,0xFF11},
{0xA2B1,0xA2B1,0xFF12},
{0xA2B2,0xA2B2,0xFF13},
{0xA2B3,0xA2B3,0xFF14},
{0xA2B4,0xA2B4,0xFF15},
{0xA2B5,0xA2B5,0xFF16},
{0xA2B6,0xA2B6,0xFF17},
{0xA2B7,0xA2B7,0xFF18},
{0xA2B8,0xA2B8,0xFF19},
{0xA2B9,0xA2B9,0x2160},
{0xA2BA,0xA2BA,0x2161},
{0xA2BB,0xA2BB,0x2162},
{0xA2BC,0xA2BC,0x2163},
{0xA2BD,0xA2BD,0x2164},
{0xA2BE,0xA2BE,0x2165},
{0xA2BF,0xA2BF,0x2166},
/* A2C0-A2CF */
{0xA2C0,0xA2C0,0x2167},
{0xA2C1,0xA2C1,0x2168},
{0xA2C2,0xA2C2,0x2169},
{0xA2C3,0xA2C3,0x3021},
{0xA2C4,0xA2C4,0x3022},
{0xA2C5,0xA2C5,0x3023},
{0xA2C6,0xA2C6,0x3024},
{0xA2C7,0xA2C7,0x3025},
{0xA2C8,0xA2C8,0x3026},
{0xA2C9,0xA2C9,0x3027},
{0xA2CA,0xA2CA,0x3028},
{0xA2CB,0xA2CB,0x3029},
{0xA2CC,0xA2CC,0xFFFD},
{0xA2CD,0xA2CD,0x5344},
{0xA2CE,0xA2CE,0xFFFD},
{0xA2CF,0xA2E9,0xFF21},
/* A2D0-A2DF */
{0xA2D0,0xA2EA,0xFF22},
{0xA2D1,0xA2EB,0xFF23},
{0xA2D2,0xA2EC,0xFF24},
{0xA2D3,0xA2ED,0xFF25},
{0xA2D4,0xA2EE,0xFF26},
{0xA2D5,0xA2EF,0xFF27},
{0xA2D6,0xA2F0,0xFF28},
{0xA2D7,0xA2F1,0xFF29},
{0xA2D8,0xA2F2,0xFF2A},
{0xA2D9,0xA2F3,0xFF2B},
{0xA2DA,0xA2F4,0xFF2C},
{0xA2DB,0xA2F5,0xFF2D},
{0xA2DC,0xA2F6,0xFF2E},
{0xA2DD,0xA2F7,0xFF2F},
{0xA2DE,0xA2F8,0xFF30},
{0xA2DF,0xA2F9,0xFF31},
/* A2E0-A2EF */
{0xA2E0,0xA2FA,0xFF32},
{0xA2E1,0xA2FB,0xFF33},
{0xA2E2,0xA2FC,0xFF34},
{0xA2E3,0xA2FD,0xFF35},
{0xA2E4,0xA2FE,0xFF36},
{0xA2E5,0xA340,0xFF37},
{0xA2E6,0xA341,0xFF38},
{0xA2E7,0xA342,0xFF39},
{0xA2E8,0xA343,0xFF3A},
{0xA2CF,0xA2E9,0xFF41},
{0xA2D0,0xA2EA,0xFF42},
{0xA2D1,0xA2EB,0xFF43},
{0xA2D2,0xA2EC,0xFF44},
{0xA2D3,0xA2ED,0xFF45},
{0xA2D4,0xA2EE,0xFF46},
{0xA2D5,0xA2EF,0xFF47},
/* A2F0-A2FF */
{0xA2D6,0xA2F0,0xFF48},
{0xA2D7,0xA2F1,0xFF49},
{0xA2D8,0xA2F2,0xFF4A},
{0xA2D9,0xA2F3,0xFF4B},
{0xA2DA,0xA2F4,0xFF4C},
{0xA2DB,0xA2F5,0xFF4D},
{0xA2DC,0xA2F6,0xFF4E},
{0xA2DD,0xA2F7,0xFF4F},
{0xA2DE,0xA2F8,0xFF50},
{0xA2DF,0xA2F9,0xFF51},
{0xA2E0,0xA2FA,0xFF52},
{0xA2E1,0xA2FB,0xFF53},
{0xA2E2,0xA2FC,0xFF54},
{0xA2E3,0xA2FD,0xFF55},
{0xA2E4,0xA2FE,0xFF56},
{0x0000,0x0000,0x0000}
};
static MY_UNICASE_INFO cA3[256]=
{
/* A300-A30F */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
/* A310-A31F */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
/* A320-A32F */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
/* A330-A33F */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
/* A340-A34F */
{0xA2E5,0xA340,0xFF57},
{0xA2E6,0xA341,0xFF58},
{0xA2E7,0xA342,0xFF59},
{0xA2E8,0xA343,0xFF5A},
{0xA344,0xA35C,0x0391},
{0xA345,0xA35D,0x0392},
{0xA346,0xA35E,0x0393},
{0xA347,0xA35F,0x0394},
{0xA348,0xA360,0x0395},
{0xA349,0xA361,0x0396},
{0xA34A,0xA362,0x0397},
{0xA34B,0xA363,0x0398},
{0xA34C,0xA364,0x0399},
{0xA34D,0xA365,0x039A},
{0xA34E,0xA366,0x039B},
{0xA34F,0xA367,0x039C},
/* A350-A35F */
{0xA350,0xA368,0x039D},
{0xA351,0xA369,0x039E},
{0xA352,0xA36A,0x039F},
{0xA353,0xA36B,0x03A0},
{0xA354,0xA36C,0x03A1},
{0xA355,0xA36D,0x03A3},
{0xA356,0xA36E,0x03A4},
{0xA357,0xA36F,0x03A5},
{0xA358,0xA370,0x03A6},
{0xA359,0xA371,0x03A7},
{0xA35A,0xA372,0x03A8},
{0xA35B,0xA373,0x03A9},
{0xA344,0xA35C,0x03B1},
{0xA345,0xA35D,0x03B2},
{0xA346,0xA35E,0x03B3},
{0xA347,0xA35F,0x03B4},
/* A360-A36F */
{0xA348,0xA360,0x03B5},
{0xA349,0xA361,0x03B6},
{0xA34A,0xA362,0x03B7},
{0xA34B,0xA363,0x03B8},
{0xA34C,0xA364,0x03B9},
{0xA34D,0xA365,0x03BA},
{0xA34E,0xA366,0x03BB},
{0xA34F,0xA367,0x03BC},
{0xA350,0xA368,0x03BD},
{0xA351,0xA369,0x03BE},
{0xA352,0xA36A,0x03BF},
{0xA353,0xA36B,0x03C0},
{0xA354,0xA36C,0x03C1},
{0xA355,0xA36D,0x03C3},
{0xA356,0xA36E,0x03C4},
{0xA357,0xA36F,0x03C5},
/* A370-A37F */
{0xA358,0xA370,0x03C6},
{0xA359,0xA371,0x03C7},
{0xA35A,0xA372,0x03C8},
{0xA35B,0xA373,0x03C9},
{0xA374,0xA374,0x3105},
{0xA375,0xA375,0x3106},
{0xA376,0xA376,0x3107},
{0xA377,0xA377,0x3108},
{0xA378,0xA378,0x3109},
{0xA379,0xA379,0x310A},
{0xA37A,0xA37A,0x310B},
{0xA37B,0xA37B,0x310C},
{0xA37C,0xA37C,0x310D},
{0xA37D,0xA37D,0x310E},
{0xA37E,0xA37E,0x310F},
{0x0000,0x0000,0x0000},
/* A380-A38F */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
/* A390-A39F */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
/* A3A0-A3AF */
{0x0000,0x0000,0x0000},
{0xA3A1,0xA3A1,0x3110},
{0xA3A2,0xA3A2,0x3111},
{0xA3A3,0xA3A3,0x3112},
{0xA3A4,0xA3A4,0x3113},
{0xA3A5,0xA3A5,0x3114},
{0xA3A6,0xA3A6,0x3115},
{0xA3A7,0xA3A7,0x3116},
{0xA3A8,0xA3A8,0x3117},
{0xA3A9,0xA3A9,0x3118},
{0xA3AA,0xA3AA,0x3119},
{0xA3AB,0xA3AB,0x311A},
{0xA3AC,0xA3AC,0x311B},
{0xA3AD,0xA3AD,0x311C},
{0xA3AE,0xA3AE,0x311D},
{0xA3AF,0xA3AF,0x311E},
/* A3B0-A3BF */
{0xA3B0,0xA3B0,0x311F},
{0xA3B1,0xA3B1,0x3120},
{0xA3B2,0xA3B2,0x3121},
{0xA3B3,0xA3B3,0x3122},
{0xA3B4,0xA3B4,0x3123},
{0xA3B5,0xA3B5,0x3124},
{0xA3B6,0xA3B6,0x3125},
{0xA3B7,0xA3B7,0x3126},
{0xA3B8,0xA3B8,0x3127},
{0xA3B9,0xA3B9,0x3128},
{0xA3BA,0xA3BA,0x3129},
{0xA3BB,0xA3BB,0x02D9},
{0xA3BC,0xA3BC,0x02C9},
{0xA3BD,0xA3BD,0x02CA},
{0xA3BE,0xA3BE,0x02C7},
{0xA3BF,0xA3BF,0x02CB},
/* A3C0-A3CF */
{0xA3C0,0xA3C0,0x003F},
{0xA3C1,0xA3C1,0x003F},
{0xA3C2,0xA3C2,0x003F},
{0xA3C3,0xA3C3,0x003F},
{0xA3C4,0xA3C4,0x003F},
{0xA3C5,0xA3C5,0x003F},
{0xA3C6,0xA3C6,0x003F},
{0xA3C7,0xA3C7,0x003F},
{0xA3C8,0xA3C8,0x003F},
{0xA3C9,0xA3C9,0x003F},
{0xA3CA,0xA3CA,0x003F},
{0xA3CB,0xA3CB,0x003F},
{0xA3CC,0xA3CC,0x003F},
{0xA3CD,0xA3CD,0x003F},
{0xA3CE,0xA3CE,0x003F},
{0xA3CF,0xA3CF,0x003F},
/* A3D0-A3DF */
{0xA3D0,0xA3D0,0x003F},
{0xA3D1,0xA3D1,0x003F},
{0xA3D2,0xA3D2,0x003F},
{0xA3D3,0xA3D3,0x003F},
{0xA3D4,0xA3D4,0x003F},
{0xA3D5,0xA3D5,0x003F},
{0xA3D6,0xA3D6,0x003F},
{0xA3D7,0xA3D7,0x003F},
{0xA3D8,0xA3D8,0x003F},
{0xA3D9,0xA3D9,0x003F},
{0xA3DA,0xA3DA,0x003F},
{0xA3DB,0xA3DB,0x003F},
{0xA3DC,0xA3DC,0x003F},
{0xA3DD,0xA3DD,0x003F},
{0xA3DE,0xA3DE,0x003F},
{0xA3DF,0xA3DF,0x003F},
/* A3E0-A3EF */
{0xA3E0,0xA3E0,0x003F},
{0xA3E1,0xA3E1,0x003F},
{0xA3E2,0xA3E2,0x003F},
{0xA3E3,0xA3E3,0x003F},
{0xA3E4,0xA3E4,0x003F},
{0xA3E5,0xA3E5,0x003F},
{0xA3E6,0xA3E6,0x003F},
{0xA3E7,0xA3E7,0x003F},
{0xA3E8,0xA3E8,0x003F},
{0xA3E9,0xA3E9,0x003F},
{0xA3EA,0xA3EA,0x003F},
{0xA3EB,0xA3EB,0x003F},
{0xA3EC,0xA3EC,0x003F},
{0xA3ED,0xA3ED,0x003F},
{0xA3EE,0xA3EE,0x003F},
{0xA3EF,0xA3EF,0x003F},
/* A3F0-A3FF */
{0xA3F0,0xA3F0,0x003F},
{0xA3F1,0xA3F1,0x003F},
{0xA3F2,0xA3F2,0x003F},
{0xA3F3,0xA3F3,0x003F},
{0xA3F4,0xA3F4,0x003F},
{0xA3F5,0xA3F5,0x003F},
{0xA3F6,0xA3F6,0x003F},
{0xA3F7,0xA3F7,0x003F},
{0xA3F8,0xA3F8,0x003F},
{0xA3F9,0xA3F9,0x003F},
{0xA3FA,0xA3FA,0x003F},
{0xA3FB,0xA3FB,0x003F},
{0xA3FC,0xA3FC,0x003F},
{0xA3FD,0xA3FD,0x003F},
{0xA3FE,0xA3FE,0x003F},
{0x0000,0x0000,0x0000}
};
static MY_UNICASE_INFO cC7[256]=
{
/* C700-C70F */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
/* C710-C71F */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
/* C720-C72F */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
/* C730-C73F */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
/* C740-C74F */
{0xC740,0xC740,0x30A8},
{0xC741,0xC741,0x30A9},
{0xC742,0xC742,0x30AA},
{0xC743,0xC743,0x30AB},
{0xC744,0xC744,0x30AC},
{0xC745,0xC745,0x30AD},
{0xC746,0xC746,0x30AE},
{0xC747,0xC747,0x30AF},
{0xC748,0xC748,0x30B0},
{0xC749,0xC749,0x30B1},
{0xC74A,0xC74A,0x30B2},
{0xC74B,0xC74B,0x30B3},
{0xC74C,0xC74C,0x30B4},
{0xC74D,0xC74D,0x30B5},
{0xC74E,0xC74E,0x30B6},
{0xC74F,0xC74F,0x30B7},
/* C750-C75F */
{0xC750,0xC750,0x30B8},
{0xC751,0xC751,0x30B9},
{0xC752,0xC752,0x30BA},
{0xC753,0xC753,0x30BB},
{0xC754,0xC754,0x30BC},
{0xC755,0xC755,0x30BD},
{0xC756,0xC756,0x30BE},
{0xC757,0xC757,0x30BF},
{0xC758,0xC758,0x30C0},
{0xC759,0xC759,0x30C1},
{0xC75A,0xC75A,0x30C2},
{0xC75B,0xC75B,0x30C3},
{0xC75C,0xC75C,0x30C4},
{0xC75D,0xC75D,0x30C5},
{0xC75E,0xC75E,0x30C6},
{0xC75F,0xC75F,0x30C7},
/* C760-C76F */
{0xC760,0xC760,0x30C8},
{0xC761,0xC761,0x30C9},
{0xC762,0xC762,0x30CA},
{0xC763,0xC763,0x30CB},
{0xC764,0xC764,0x30CC},
{0xC765,0xC765,0x30CD},
{0xC766,0xC766,0x30CE},
{0xC767,0xC767,0x30CF},
{0xC768,0xC768,0x30D0},
{0xC769,0xC769,0x30D1},
{0xC76A,0xC76A,0x30D2},
{0xC76B,0xC76B,0x30D3},
{0xC76C,0xC76C,0x30D4},
{0xC76D,0xC76D,0x30D5},
{0xC76E,0xC76E,0x30D6},
{0xC76F,0xC76F,0x30D7},
/* C770-C77F */
{0xC770,0xC770,0x30D8},
{0xC771,0xC771,0x30D9},
{0xC772,0xC772,0x30DA},
{0xC773,0xC773,0x30DB},
{0xC774,0xC774,0x30DC},
{0xC775,0xC775,0x30DD},
{0xC776,0xC776,0x30DE},
{0xC777,0xC777,0x30DF},
{0xC778,0xC778,0x30E0},
{0xC779,0xC779,0x30E1},
{0xC77A,0xC77A,0x30E2},
{0xC77B,0xC77B,0x30E3},
{0xC77C,0xC77C,0x30E4},
{0xC77D,0xC77D,0x30E5},
{0xC77E,0xC77E,0x30E6},
{0x0000,0x0000,0x0000},
/* C780-C78F */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
/* C790-C79F */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
/* C7A0-C7AF */
{0x0000,0x0000,0x0000},
{0xC7A1,0xC7A1,0x30E7},
{0xC7A2,0xC7A2,0x30E8},
{0xC7A3,0xC7A3,0x30E9},
{0xC7A4,0xC7A4,0x30EA},
{0xC7A5,0xC7A5,0x30EB},
{0xC7A6,0xC7A6,0x30EC},
{0xC7A7,0xC7A7,0x30ED},
{0xC7A8,0xC7A8,0x30EE},
{0xC7A9,0xC7A9,0x30EF},
{0xC7AA,0xC7AA,0x30F0},
{0xC7AB,0xC7AB,0x30F1},
{0xC7AC,0xC7AC,0x30F2},
{0xC7AD,0xC7AD,0x30F3},
{0xC7AE,0xC7AE,0x30F4},
{0xC7AF,0xC7AF,0x30F5},
/* C7B0-C7BF */
{0xC7B0,0xC7B0,0x30F6},
{0xC7B1,0xC7CC,0x0414},
{0xC7B2,0xC7CD,0x0415},
{0xC7B3,0xC7CE,0x0401},
{0xC7B4,0xC7CF,0x0416},
{0xC7B5,0xC7D0,0x0417},
{0xC7B6,0xC7D1,0x0418},
{0xC7B7,0xC7D2,0x0419},
{0xC7B8,0xC7D3,0x041A},
{0xC7B9,0xC7D4,0x041B},
{0xC7BA,0xC7D5,0x041C},
{0xC7BB,0xC7DC,0x0423},
{0xC7BC,0xC7DD,0x0424},
{0xC7BD,0xC7DE,0x0425},
{0xC7BE,0xC7DF,0x0426},
{0xC7BF,0xC7E0,0x0427},
/* C7C0-C7CF */
{0xC7C0,0xC7E1,0x0428},
{0xC7C1,0xC7E2,0x0429},
{0xC7C2,0xC7E3,0x042A},
{0xC7C3,0xC7E4,0x042B},
{0xC7C4,0xC7E5,0x042C},
{0xC7C5,0xC7E6,0x042D},
{0xC7C6,0xC7E7,0x042E},
{0xC7C7,0xC7E8,0x042F},
{0xC7C8,0xC7C8,0x0430},
{0xC7C9,0xC7C9,0x0431},
{0xC7CA,0xC7CA,0x0432},
{0xC7CB,0xC7CB,0x0433},
{0xC7B1,0xC7CC,0x0434},
{0xC7B2,0xC7CD,0x0435},
{0xC7B3,0xC7CE,0x0451},
{0xC7B4,0xC7CF,0x0436},
/* C7D0-C7DF */
{0xC7B5,0xC7D0,0x0437},
{0xC7B6,0xC7D1,0x0438},
{0xC7B7,0xC7D2,0x0439},
{0xC7B8,0xC7D3,0x043A},
{0xC7B9,0xC7D4,0x043B},
{0xC7BA,0xC7D5,0x043C},
{0xC7D6,0xC7D6,0x043D},
{0xC7D7,0xC7D7,0x043E},
{0xC7D8,0xC7D8,0x043F},
{0xC7D9,0xC7D9,0x0440},
{0xC7DA,0xC7DA,0x0441},
{0xC7DB,0xC7DB,0x0442},
{0xC7BB,0xC7DC,0x0443},
{0xC7BC,0xC7DD,0x0444},
{0xC7BD,0xC7DE,0x0445},
{0xC7BE,0xC7DF,0x0446},
/* C7E0-C7EF */
{0xC7BF,0xC7E0,0x0447},
{0xC7C0,0xC7E1,0x0448},
{0xC7C1,0xC7E2,0x0449},
{0xC7C2,0xC7E3,0x044A},
{0xC7C3,0xC7E4,0x044B},
{0xC7C4,0xC7E5,0x044C},
{0xC7C5,0xC7E6,0x044D},
{0xC7C6,0xC7E7,0x044E},
{0xC7C7,0xC7E8,0x044F},
{0xC7E9,0xC7E9,0x2460},
{0xC7EA,0xC7EA,0x2461},
{0xC7EB,0xC7EB,0x2462},
{0xC7EC,0xC7EC,0x2463},
{0xC7ED,0xC7ED,0x2464},
{0xC7EE,0xC7EE,0x2465},
{0xC7EF,0xC7EF,0x2466},
/* C7F0-C7FF */
{0xC7F0,0xC7F0,0x2467},
{0xC7F1,0xC7F1,0x2468},
{0xC7F2,0xC7F2,0x2469},
{0xC7F3,0xC7F3,0x2474},
{0xC7F4,0xC7F4,0x2475},
{0xC7F5,0xC7F5,0x2476},
{0xC7F6,0xC7F6,0x2477},
{0xC7F7,0xC7F7,0x2478},
{0xC7F8,0xC7F8,0x2479},
{0xC7F9,0xC7F9,0x247A},
{0xC7FA,0xC7FA,0x247B},
{0xC7FB,0xC7FB,0x247C},
{0xC7FC,0xC7FC,0x247D},
{0xC7FD,0xC7FD,0x003F},
{0xC7FE,0xC7FE,0x003F},
{0x0000,0x0000,0x0000}
};
static MY_UNICASE_INFO *my_caseinfo_big5[256]=
{
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 0 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 1 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 2 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 3 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 4 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 5 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 6 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 7 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 8 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 9 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, cA2, cA3, NULL, NULL, NULL, NULL, /* A */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* B */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, cC7, /* C */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* D */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* E */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* F */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
};
static uint16 big5strokexfrm(uint16 i)
{
if ((i == 0xA440) || (i == 0xA441)) return 0xA440;
@ -6393,7 +7010,7 @@ CHARSET_INFO my_charset_big5_chinese_ci=
NULL, /* sort_order_big*/
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
my_unicase_default, /* caseinfo */
my_caseinfo_big5, /* caseinfo */
NULL, /* state_map */
NULL, /* ident_map */
1, /* strxfrm_multiply */
@ -6426,7 +7043,7 @@ CHARSET_INFO my_charset_big5_bin=
NULL, /* sort_order_big*/
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
my_unicase_default, /* caseinfo */
my_caseinfo_big5, /* caseinfo */
NULL, /* state_map */
NULL, /* ident_map */
1, /* strxfrm_multiply */

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -177,6 +177,648 @@ static uint mbcharlen_gb2312(CHARSET_INFO *cs __attribute__((unused)),uint c)
}
static MY_UNICASE_INFO cA2[256]=
{
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx40 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx50 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx60 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx70 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx80 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx90 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0xA2A0,0xA2A0,0xA2A0}, /* A2A0 */
{0xA2A1,0xA2A1,0x003F},
{0xA2A2,0xA2A2,0x003F},
{0xA2A3,0xA2A3,0x003F},
{0xA2A4,0xA2A4,0x003F},
{0xA2A5,0xA2A5,0x003F},
{0xA2A6,0xA2A6,0x003F},
{0xA2A7,0xA2A7,0x003F},
{0xA2A8,0xA2A8,0x003F},
{0xA2A9,0xA2A9,0x003F},
{0xA2AA,0xA2AA,0x003F},
{0xA2AB,0xA2AB,0x003F},
{0xA2AC,0xA2AC,0x003F},
{0xA2AD,0xA2AD,0x003F},
{0xA2AE,0xA2AE,0x003F},
{0xA2AF,0xA2AF,0x003F},
{0xA2B0,0xA2B0,0x003F}, /* A2B0 */
{0xA2B1,0xA2B1,0x2488},
{0xA2B2,0xA2B2,0x2489},
{0xA2B3,0xA2B3,0x248A},
{0xA2B4,0xA2B4,0x248B},
{0xA2B5,0xA2B5,0x248C},
{0xA2B6,0xA2B6,0x248D},
{0xA2B7,0xA2B7,0x248E},
{0xA2B8,0xA2B8,0x248F},
{0xA2B9,0xA2B9,0x2490},
{0xA2BA,0xA2BA,0x2491},
{0xA2BB,0xA2BB,0x2492},
{0xA2BC,0xA2BC,0x2493},
{0xA2BD,0xA2BD,0x2494},
{0xA2BE,0xA2BE,0x2495},
{0xA2BF,0xA2BF,0x2496},
{0xA2C0,0xA2C0,0x2497}, /* A2C0 */
{0xA2C1,0xA2C1,0x2498},
{0xA2C2,0xA2C2,0x2499},
{0xA2C3,0xA2C3,0x249A},
{0xA2C4,0xA2C4,0x249B},
{0xA2C5,0xA2C5,0x2474},
{0xA2C6,0xA2C6,0x2475},
{0xA2C7,0xA2C7,0x2476},
{0xA2C8,0xA2C8,0x2477},
{0xA2C9,0xA2C9,0x2478},
{0xA2CA,0xA2CA,0x2479},
{0xA2CB,0xA2CB,0x247A},
{0xA2CC,0xA2CC,0x247B},
{0xA2CD,0xA2CD,0x247C},
{0xA2CE,0xA2CE,0x247D},
{0xA2CF,0xA2CF,0x247E},
{0xA2D0,0xA2D0,0x247F}, /* A2D0 */
{0xA2D1,0xA2D1,0x2480},
{0xA2D2,0xA2D2,0x2481},
{0xA2D3,0xA2D3,0x2482},
{0xA2D4,0xA2D4,0x2483},
{0xA2D5,0xA2D5,0x2484},
{0xA2D6,0xA2D6,0x2485},
{0xA2D7,0xA2D7,0x2486},
{0xA2D8,0xA2D8,0x2487},
{0xA2D9,0xA2D9,0x2460},
{0xA2DA,0xA2DA,0x2461},
{0xA2DB,0xA2DB,0x2462},
{0xA2DC,0xA2DC,0x2463},
{0xA2DD,0xA2DD,0x2464},
{0xA2DE,0xA2DE,0x2465},
{0xA2DF,0xA2DF,0x2466},
{0xA2E0,0xA2E0,0x2467}, /* A2E0 */
{0xA2E1,0xA2E1,0x2468},
{0xA2E2,0xA2E2,0x2469},
{0xA2E3,0xA2E3,0x003F},
{0xA2E4,0xA2E4,0x003F},
{0xA2E5,0xA2E5,0x3220},
{0xA2E6,0xA2E6,0x3221},
{0xA2E7,0xA2E7,0x3222},
{0xA2E8,0xA2E8,0x3223},
{0xA2E9,0xA2E9,0x3224},
{0xA2EA,0xA2EA,0x3225},
{0xA2EB,0xA2EB,0x3226},
{0xA2EC,0xA2EC,0x3227},
{0xA2ED,0xA2ED,0x3228},
{0xA2EE,0xA2EE,0x3229},
{0xA2EF,0xA2EF,0x003F},
{0xA2F0,0xA2F0,0x003F}, /* A2F0 */
{0xA2F1,0xA2F1,0x2160},
{0xA2F2,0xA2F2,0x2161},
{0xA2F3,0xA2F3,0x2162},
{0xA2F4,0xA2F4,0x2163},
{0xA2F5,0xA2F5,0x2164},
{0xA2F6,0xA2F6,0x2165},
{0xA2F7,0xA2F7,0x2166},
{0xA2F8,0xA2F8,0x2167},
{0xA2F9,0xA2F9,0x2168},
{0xA2FA,0xA2FA,0x2169},
{0xA2FB,0xA2FB,0x216A},
{0xA2FC,0xA2FC,0x216B},
{0xA2FD,0xA2FD,0x003F},
{0xA2FE,0xA2FE,0x003F},
{0xA2FF,0xA2FF,0xA2FF}
};
static MY_UNICASE_INFO cA3[256]=
{
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx40 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx50 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx60 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx70 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx80 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx90 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0xA3A0,0xA3A0,0xA3A0}, /* A3A0 */
{0xA3A1,0xA3A1,0xFF01},
{0xA3A2,0xA3A2,0xFF02},
{0xA3A3,0xA3A3,0xFF03},
{0xA3A4,0xA3A4,0xFFE5},
{0xA3A5,0xA3A5,0xFF05},
{0xA3A6,0xA3A6,0xFF06},
{0xA3A7,0xA3A7,0xFF07},
{0xA3A8,0xA3A8,0xFF08},
{0xA3A9,0xA3A9,0xFF09},
{0xA3AA,0xA3AA,0xFF0A},
{0xA3AB,0xA3AB,0xFF0B},
{0xA3AC,0xA3AC,0xFF0C},
{0xA3AD,0xA3AD,0xFF0D},
{0xA3AE,0xA3AE,0xFF0E},
{0xA3AF,0xA3AF,0xFF0F},
{0xA3B0,0xA3B0,0xFF10}, /* A3B0 */
{0xA3B1,0xA3B1,0xFF11},
{0xA3B2,0xA3B2,0xFF12},
{0xA3B3,0xA3B3,0xFF13},
{0xA3B4,0xA3B4,0xFF14},
{0xA3B5,0xA3B5,0xFF15},
{0xA3B6,0xA3B6,0xFF16},
{0xA3B7,0xA3B7,0xFF17},
{0xA3B8,0xA3B8,0xFF18},
{0xA3B9,0xA3B9,0xFF19},
{0xA3BA,0xA3BA,0xFF1A},
{0xA3BB,0xA3BB,0xFF1B},
{0xA3BC,0xA3BC,0xFF1C},
{0xA3BD,0xA3BD,0xFF1D},
{0xA3BE,0xA3BE,0xFF1E},
{0xA3BF,0xA3BF,0xFF1F},
{0xA3C0,0xA3C0,0xFF20}, /* A3C0 */
{0xA3C1,0xA3E1,0xFF21},
{0xA3C2,0xA3E2,0xFF22},
{0xA3C3,0xA3E3,0xFF23},
{0xA3C4,0xA3E4,0xFF24},
{0xA3C5,0xA3E5,0xFF25},
{0xA3C6,0xA3E6,0xFF26},
{0xA3C7,0xA3E7,0xFF27},
{0xA3C8,0xA3E8,0xFF28},
{0xA3C9,0xA3E9,0xFF29},
{0xA3CA,0xA3EA,0xFF2A},
{0xA3CB,0xA3EB,0xFF2B},
{0xA3CC,0xA3EC,0xFF2C},
{0xA3CD,0xA3ED,0xFF2D},
{0xA3CE,0xA3EE,0xFF2E},
{0xA3CF,0xA3EF,0xFF2F},
{0xA3D0,0xA3F0,0xFF30}, /* A3D0 */
{0xA3D1,0xA3F1,0xFF31},
{0xA3D2,0xA3F2,0xFF32},
{0xA3D3,0xA3F3,0xFF33},
{0xA3D4,0xA3F4,0xFF34},
{0xA3D5,0xA3F5,0xFF35},
{0xA3D6,0xA3F6,0xFF36},
{0xA3D7,0xA3F7,0xFF37},
{0xA3D8,0xA3F8,0xFF38},
{0xA3D9,0xA3F9,0xFF39},
{0xA3DA,0xA3FA,0xFF3A},
{0xA3DB,0xA3DB,0xFF3B},
{0xA3DC,0xA3DC,0xFF3C},
{0xA3DD,0xA3DD,0xFF3D},
{0xA3DE,0xA3DE,0xFF3E},
{0xA3DF,0xA3DF,0xFF3F},
{0xA3E0,0xA3E0,0xFF40}, /* A3E0 */
{0xA3C1,0xA3E1,0xFF41},
{0xA3C2,0xA3E2,0xFF42},
{0xA3C3,0xA3E3,0xFF43},
{0xA3C4,0xA3E4,0xFF44},
{0xA3C5,0xA3E5,0xFF45},
{0xA3C6,0xA3E6,0xFF46},
{0xA3C7,0xA3E7,0xFF47},
{0xA3C8,0xA3E8,0xFF48},
{0xA3C9,0xA3E9,0xFF49},
{0xA3CA,0xA3EA,0xFF4A},
{0xA3CB,0xA3EB,0xFF4B},
{0xA3CC,0xA3EC,0xFF4C},
{0xA3CD,0xA3ED,0xFF4D},
{0xA3CE,0xA3EE,0xFF4E},
{0xA3CF,0xA3EF,0xFF4F},
{0xA3D0,0xA3F0,0xFF50}, /* A3F0 */
{0xA3D1,0xA3F1,0xFF51},
{0xA3D2,0xA3F2,0xFF52},
{0xA3D3,0xA3F3,0xFF53},
{0xA3D4,0xA3F4,0xFF54},
{0xA3D5,0xA3F5,0xFF55},
{0xA3D6,0xA3F6,0xFF56},
{0xA3D7,0xA3F7,0xFF57},
{0xA3D8,0xA3F8,0xFF58},
{0xA3D9,0xA3F9,0xFF59},
{0xA3DA,0xA3FA,0xFF5A},
{0xA3FB,0xA3FB,0xFF5B},
{0xA3FC,0xA3FC,0xFF5C},
{0xA3FD,0xA3FD,0xFF5D},
{0xA3FE,0xA3FE,0xFFE3},
{0xA3FF,0xA3FF,0xA3FF}
};
static MY_UNICASE_INFO cA6[256]=
{
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx40 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx50 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx60 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx70 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx80 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx90 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0xA6A0,0xA6A0,0xA6A0}, /* A6A0 */
{0xA6A1,0xA6C1,0x0391},
{0xA6A2,0xA6C2,0x0392},
{0xA6A3,0xA6C3,0x0393},
{0xA6A4,0xA6C4,0x0394},
{0xA6A5,0xA6C5,0x0395},
{0xA6A6,0xA6C6,0x0396},
{0xA6A7,0xA6C7,0x0397},
{0xA6A8,0xA6C8,0x0398},
{0xA6A9,0xA6C9,0x0399},
{0xA6AA,0xA6CA,0x039A},
{0xA6AB,0xA6CB,0x039B},
{0xA6AC,0xA6CC,0x039C},
{0xA6AD,0xA6CD,0x039D},
{0xA6AE,0xA6CE,0x039E},
{0xA6AF,0xA6CF,0x039F},
{0xA6B0,0xA6D0,0x03A0}, /* A6B0 */
{0xA6B1,0xA6D1,0x03A1},
{0xA6B2,0xA6D2,0x03A3},
{0xA6B3,0xA6D3,0x03A4},
{0xA6B4,0xA6D4,0x03A5},
{0xA6B5,0xA6D5,0x03A6},
{0xA6B6,0xA6D6,0x03A7},
{0xA6B7,0xA6D7,0x03A8},
{0xA6B8,0xA6D8,0x03A9},
{0xA6B9,0xA6B9,0x003F},
{0xA6BA,0xA6BA,0x003F},
{0xA6BB,0xA6BB,0x003F},
{0xA6BC,0xA6BC,0x003F},
{0xA6BD,0xA6BD,0x003F},
{0xA6BE,0xA6BE,0x003F},
{0xA6BF,0xA6BF,0x003F},
{0xA6C0,0xA6C0,0x003F}, /* A6C0 */
{0xA6A1,0xA6C1,0x03B1},
{0xA6A2,0xA6C2,0x03B2},
{0xA6A3,0xA6C3,0x03B3},
{0xA6A4,0xA6C4,0x03B4},
{0xA6A5,0xA6C5,0x03B5},
{0xA6A6,0xA6C6,0x03B6},
{0xA6A7,0xA6C7,0x03B7},
{0xA6A8,0xA6C8,0x03B8},
{0xA6A9,0xA6C9,0x03B9},
{0xA6AA,0xA6CA,0x03BA},
{0xA6AB,0xA6CB,0x03BB},
{0xA6AC,0xA6CC,0x03BC},
{0xA6AD,0xA6CD,0x03BD},
{0xA6AE,0xA6CE,0x03BE},
{0xA6AF,0xA6CF,0x03BF},
{0xA6B0,0xA6D0,0x03C0}, /* A6D0 */
{0xA6B1,0xA6D1,0x03C1},
{0xA6B2,0xA6D2,0x03C3},
{0xA6B3,0xA6D3,0x03C4},
{0xA6B4,0xA6D4,0x03C5},
{0xA6B5,0xA6D5,0x03C6},
{0xA6B6,0xA6D6,0x03C7},
{0xA6B7,0xA6D7,0x03C8},
{0xA6B8,0xA6D8,0x03C9},
{0xA6D9,0xA6D9,0x003F},
{0xA6DA,0xA6DA,0x003F},
{0xA6DB,0xA6DB,0x003F},
{0xA6DC,0xA6DC,0x003F},
{0xA6DD,0xA6DD,0x003F},
{0xA6DE,0xA6DE,0x003F},
{0xA6DF,0xA6DF,0x003F},
{0xA6E0,0xA6E0,0x003F}, /* A6E0 */
{0xA6E1,0xA6E1,0x003F},
{0xA6E2,0xA6E2,0x003F},
{0xA6E3,0xA6E3,0x003F},
{0xA6E4,0xA6E4,0x003F},
{0xA6E5,0xA6E5,0x003F},
{0xA6E6,0xA6E6,0x003F},
{0xA6E7,0xA6E7,0x003F},
{0xA6E8,0xA6E8,0x003F},
{0xA6E9,0xA6E9,0x003F},
{0xA6EA,0xA6EA,0x003F},
{0xA6EB,0xA6EB,0x003F},
{0xA6EC,0xA6EC,0x003F},
{0xA6ED,0xA6ED,0x003F},
{0xA6EE,0xA6EE,0x003F},
{0xA6EF,0xA6EF,0x003F},
{0xA6F0,0xA6F0,0x003F}, /* A6F0 */
{0xA6F1,0xA6F1,0x003F},
{0xA6F2,0xA6F2,0x003F},
{0xA6F3,0xA6F3,0x003F},
{0xA6F4,0xA6F4,0x003F},
{0xA6F5,0xA6F5,0x003F},
{0xA6F6,0xA6F6,0x003F},
{0xA6F7,0xA6F7,0x003F},
{0xA6F8,0xA6F8,0x003F},
{0xA6F9,0xA6F9,0x003F},
{0xA6FA,0xA6FA,0x003F},
{0xA6FB,0xA6FB,0x003F},
{0xA6FC,0xA6FC,0x003F},
{0xA6FD,0xA6FD,0x003F},
{0xA6FE,0xA6FE,0x003F},
{0xA6FF,0xA6FF,0xA6FF}
};
static MY_UNICASE_INFO cA7[256]=
{
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx40 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx50 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx60 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx70 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx80 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx90 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0xA7A0,0xA7A0,0xA7A0}, /* A7A0 */
{0xA7A1,0xA7D1,0x0410},
{0xA7A2,0xA7D2,0x0411},
{0xA7A3,0xA7D3,0x0412},
{0xA7A4,0xA7D4,0x0413},
{0xA7A5,0xA7D5,0x0414},
{0xA7A6,0xA7D6,0x0415},
{0xA7A7,0xA7D7,0x0401},
{0xA7A8,0xA7D8,0x0416},
{0xA7A9,0xA7D9,0x0417},
{0xA7AA,0xA7DA,0x0418},
{0xA7AB,0xA7DB,0x0419},
{0xA7AC,0xA7DC,0x041A},
{0xA7AD,0xA7DD,0x041B},
{0xA7AE,0xA7DE,0x041C},
{0xA7AF,0xA7DF,0x041D},
{0xA7B0,0xA7E0,0x041E}, /* A7B0 */
{0xA7B1,0xA7E1,0x041F},
{0xA7B2,0xA7E2,0x0420},
{0xA7B3,0xA7E3,0x0421},
{0xA7B4,0xA7E4,0x0422},
{0xA7B5,0xA7E5,0x0423},
{0xA7B6,0xA7E6,0x0424},
{0xA7B7,0xA7E7,0x0425},
{0xA7B8,0xA7E8,0x0426},
{0xA7B9,0xA7E9,0x0427},
{0xA7BA,0xA7EA,0x0428},
{0xA7BB,0xA7EB,0x0429},
{0xA7BC,0xA7EC,0x042A},
{0xA7BD,0xA7ED,0x042B},
{0xA7BE,0xA7EE,0x042C},
{0xA7BF,0xA7EF,0x042D},
{0xA7C0,0xA7F0,0x042E}, /* A7C0 */
{0xA7C1,0xA7F1,0x042F},
{0xA7C2,0xA7C2,0x003F},
{0xA7C3,0xA7C3,0x003F},
{0xA7C4,0xA7C4,0x003F},
{0xA7C5,0xA7C5,0x003F},
{0xA7C6,0xA7C6,0x003F},
{0xA7C7,0xA7C7,0x003F},
{0xA7C8,0xA7C8,0x003F},
{0xA7C9,0xA7C9,0x003F},
{0xA7CA,0xA7CA,0x003F},
{0xA7CB,0xA7CB,0x003F},
{0xA7CC,0xA7CC,0x003F},
{0xA7CD,0xA7CD,0x003F},
{0xA7CE,0xA7CE,0x003F},
{0xA7CF,0xA7CF,0x003F},
{0xA7D0,0xA7D0,0x003F}, /* A7D0 */
{0xA7A1,0xA7D1,0x0430},
{0xA7A2,0xA7D2,0x0431},
{0xA7A3,0xA7D3,0x0432},
{0xA7A4,0xA7D4,0x0433},
{0xA7A5,0xA7D5,0x0434},
{0xA7A6,0xA7D6,0x0435},
{0xA7A7,0xA7D7,0x0451},
{0xA7A8,0xA7D8,0x0436},
{0xA7A9,0xA7D9,0x0437},
{0xA7AA,0xA7DA,0x0438},
{0xA7AB,0xA7DB,0x0439},
{0xA7AC,0xA7DC,0x043A},
{0xA7AD,0xA7DD,0x043B},
{0xA7AE,0xA7DE,0x043C},
{0xA7AF,0xA7DF,0x043D},
{0xA7B0,0xA7E0,0x043E}, /* A7E0 */
{0xA7B1,0xA7E1,0x043F},
{0xA7B2,0xA7E2,0x0440},
{0xA7B3,0xA7E3,0x0441},
{0xA7B4,0xA7E4,0x0442},
{0xA7B5,0xA7E5,0x0443},
{0xA7B6,0xA7E6,0x0444},
{0xA7B7,0xA7E7,0x0445},
{0xA7B8,0xA7E8,0x0446},
{0xA7B9,0xA7E9,0x0447},
{0xA7BA,0xA7EA,0x0448},
{0xA7BB,0xA7EB,0x0449},
{0xA7BC,0xA7EC,0x044A},
{0xA7BD,0xA7ED,0x044B},
{0xA7BE,0xA7EE,0x044C},
{0xA7BF,0xA7EF,0x044D},
{0xA7C0,0xA7F0,0x044E}, /* A7F0 */
{0xA7C1,0xA7F1,0x044F},
{0xA7F2,0xA7F2,0x003F},
{0xA7F3,0xA7F3,0x003F},
{0xA7F4,0xA7F4,0x003F},
{0xA7F5,0xA7F5,0x003F},
{0xA7F6,0xA7F6,0x003F},
{0xA7F7,0xA7F7,0x003F},
{0xA7F8,0xA7F8,0x003F},
{0xA7F9,0xA7F9,0x003F},
{0xA7FA,0xA7FA,0x003F},
{0xA7FB,0xA7FB,0x003F},
{0xA7FC,0xA7FC,0x003F},
{0xA7FD,0xA7FD,0x003F},
{0xA7FE,0xA7FE,0x003F},
{0xA7FF,0xA7FF,0xA7FF}
};
static MY_UNICASE_INFO cA8[256]=
{
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx40 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx50 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx60 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx70 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx80 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx90 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0xA8A0,0xA8A0,0xA8A0}, /* A8A0 */
{0xA8A1,0xA8A1,0x0101},
{0xA8A2,0xA8A2,0x00E1},
{0xA8A3,0xA8A3,0x01CE},
{0xA8A4,0xA8A4,0x00E0},
{0xA8A5,0xA8A5,0x0113},
{0xA8A6,0xA8A6,0x00E9},
{0xA8A7,0xA8A7,0x011B},
{0xA8A8,0xA8A8,0x00E8},
{0xA8A9,0xA8A9,0x012B},
{0xA8AA,0xA8AA,0x00ED},
{0xA8AB,0xA8AB,0x01D0},
{0xA8AC,0xA8AC,0x00EC},
{0xA8AD,0xA8AD,0x014D},
{0xA8AE,0xA8AE,0x00F3},
{0xA8AF,0xA8AF,0x01D2},
{0xA8B0,0xA8B0,0x00F2}, /* A8B0 */
{0xA8B1,0xA8B1,0x016B},
{0xA8B2,0xA8B2,0x00FA},
{0xA8B3,0xA8B3,0x01D4},
{0xA8B4,0xA8B4,0x00F9},
{0xA8B5,0xA8B5,0x01D6},
{0xA8B6,0xA8B6,0x01D8},
{0xA8B7,0xA8B7,0x01DA},
{0xA8B8,0xA8B8,0x01DC},
{0xA8B9,0xA8B9,0x00FC},
{0xA8BA,0xA8BA,0x00EA},
{0xA8BB,0xA8BB,0x003F},
{0xA8BC,0xA8BC,0x003F},
{0xA8BD,0xA8BD,0x003F},
{0xA8BE,0xA8BE,0x003F},
{0xA8BF,0xA8BF,0x003F},
{0xA8C0,0xA8C0,0x003F}, /* A8C0 */
{0xA8C1,0xA8C1,0x003F},
{0xA8C2,0xA8C2,0x003F},
{0xA8C3,0xA8C3,0x003F},
{0xA8C4,0xA8C4,0x003F},
{0xA8C5,0xA8C5,0x3105},
{0xA8C6,0xA8C6,0x3106},
{0xA8C7,0xA8C7,0x3107},
{0xA8C8,0xA8C8,0x3108},
{0xA8C9,0xA8C9,0x3109},
{0xA8CA,0xA8CA,0x310A},
{0xA8CB,0xA8CB,0x310B},
{0xA8CC,0xA8CC,0x310C},
{0xA8CD,0xA8CD,0x310D},
{0xA8CE,0xA8CE,0x310E},
{0xA8CF,0xA8CF,0x310F},
{0xA8D0,0xA8D0,0x3110}, /* A8D0 */
{0xA8D1,0xA8D1,0x3111},
{0xA8D2,0xA8D2,0x3112},
{0xA8D3,0xA8D3,0x3113},
{0xA8D4,0xA8D4,0x3114},
{0xA8D5,0xA8D5,0x3115},
{0xA8D6,0xA8D6,0x3116},
{0xA8D7,0xA8D7,0x3117},
{0xA8D8,0xA8D8,0x3118},
{0xA8D9,0xA8D9,0x3119},
{0xA8DA,0xA8DA,0x311A},
{0xA8DB,0xA8DB,0x311B},
{0xA8DC,0xA8DC,0x311C},
{0xA8DD,0xA8DD,0x311D},
{0xA8DE,0xA8DE,0x311E},
{0xA8DF,0xA8DF,0x311F},
{0xA8E0,0xA8E0,0x3120}, /* A8E0 */
{0xA8E1,0xA8E1,0x3121},
{0xA8E2,0xA8E2,0x3122},
{0xA8E3,0xA8E3,0x3123},
{0xA8E4,0xA8E4,0x3124},
{0xA8E5,0xA8E5,0x3125},
{0xA8E6,0xA8E6,0x3126},
{0xA8E7,0xA8E7,0x3127},
{0xA8E8,0xA8E8,0x3128},
{0xA8E9,0xA8E9,0x3129},
{0xA8EA,0xA8EA,0x003F},
{0xA8EB,0xA8EB,0x003F},
{0xA8EC,0xA8EC,0x003F},
{0xA8ED,0xA8ED,0x003F},
{0xA8EE,0xA8EE,0x003F},
{0xA8EF,0xA8EF,0x003F},
{0xA8F0,0xA8F0,0x003F}, /* A8F0 */
{0xA8F1,0xA8F1,0x003F},
{0xA8F2,0xA8F2,0x003F},
{0xA8F3,0xA8F3,0x003F},
{0xA8F4,0xA8F4,0x003F},
{0xA8F5,0xA8F5,0x003F},
{0xA8F6,0xA8F6,0x003F},
{0xA8F7,0xA8F7,0x003F},
{0xA8F8,0xA8F8,0x003F},
{0xA8F9,0xA8F9,0x003F},
{0xA8FA,0xA8FA,0x003F},
{0xA8FB,0xA8FB,0x003F},
{0xA8FC,0xA8FC,0x003F},
{0xA8FD,0xA8FD,0x003F},
{0xA8FE,0xA8FE,0x003F},
{0xA8FF,0xA8FF,0xA8FF}
};
static MY_UNICASE_INFO *my_caseinfo_gb2312[256]=
{
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 0 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 1 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 2 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 3 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 4 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 5 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 6 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 7 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 8 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 9 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, cA2, cA3, NULL, NULL, cA6, cA7, /* A */
cA8, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* B */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* C */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* D */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* E */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* F */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
};
/* page 0 0x2121-0x2658 */
static uint16 tab_gb2312_uni0[]={
0x3000,0x3001,0x3002,0x30FB,0x02C9,0x02C7,0x00A8,0x3003,
@ -5781,7 +6423,7 @@ CHARSET_INFO my_charset_gb2312_chinese_ci=
NULL, /* sort_order_big*/
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
my_unicase_default, /* caseinfo */
my_caseinfo_gb2312, /* caseinfo */
NULL, /* state_map */
NULL, /* ident_map */
1, /* strxfrm_multiply */
@ -5813,7 +6455,7 @@ CHARSET_INFO my_charset_gb2312_bin=
NULL, /* sort_order_big*/
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
my_unicase_default, /* caseinfo */
my_caseinfo_gb2312, /* caseinfo */
NULL, /* state_map */
NULL, /* ident_map */
1, /* strxfrm_multiply */

View file

@ -137,6 +137,864 @@ static uchar NEAR to_upper_gbk[]=
(uchar) '\370',(uchar) '\371',(uchar) '\372',(uchar) '\373',(uchar) '\374',(uchar) '\375',(uchar) '\376',(uchar) '\377',
};
static MY_UNICASE_INFO cA2[256]=
{
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0xA240,0xA240,0x003F}, /* A240 */
{0xA241,0xA241,0x003F},
{0xA242,0xA242,0x003F},
{0xA243,0xA243,0x003F},
{0xA244,0xA244,0x003F},
{0xA245,0xA245,0x003F},
{0xA246,0xA246,0x003F},
{0xA247,0xA247,0x003F},
{0xA248,0xA248,0x003F},
{0xA249,0xA249,0x003F},
{0xA24A,0xA24A,0x003F},
{0xA24B,0xA24B,0x003F},
{0xA24C,0xA24C,0x003F},
{0xA24D,0xA24D,0x003F},
{0xA24E,0xA24E,0x003F},
{0xA24F,0xA24F,0x003F},
{0xA250,0xA250,0x003F}, /* A250 */
{0xA251,0xA251,0x003F},
{0xA252,0xA252,0x003F},
{0xA253,0xA253,0x003F},
{0xA254,0xA254,0x003F},
{0xA255,0xA255,0x003F},
{0xA256,0xA256,0x003F},
{0xA257,0xA257,0x003F},
{0xA258,0xA258,0x003F},
{0xA259,0xA259,0x003F},
{0xA25A,0xA25A,0x003F},
{0xA25B,0xA25B,0x003F},
{0xA25C,0xA25C,0x003F},
{0xA25D,0xA25D,0x003F},
{0xA25E,0xA25E,0x003F},
{0xA25F,0xA25F,0x003F},
{0xA260,0xA260,0x003F}, /* A260 */
{0xA261,0xA261,0x003F},
{0xA262,0xA262,0x003F},
{0xA263,0xA263,0x003F},
{0xA264,0xA264,0x003F},
{0xA265,0xA265,0x003F},
{0xA266,0xA266,0x003F},
{0xA267,0xA267,0x003F},
{0xA268,0xA268,0x003F},
{0xA269,0xA269,0x003F},
{0xA26A,0xA26A,0x003F},
{0xA26B,0xA26B,0x003F},
{0xA26C,0xA26C,0x003F},
{0xA26D,0xA26D,0x003F},
{0xA26E,0xA26E,0x003F},
{0xA26F,0xA26F,0x003F},
{0xA270,0xA270,0x003F}, /* A270 */
{0xA271,0xA271,0x003F},
{0xA272,0xA272,0x003F},
{0xA273,0xA273,0x003F},
{0xA274,0xA274,0x003F},
{0xA275,0xA275,0x003F},
{0xA276,0xA276,0x003F},
{0xA277,0xA277,0x003F},
{0xA278,0xA278,0x003F},
{0xA279,0xA279,0x003F},
{0xA27A,0xA27A,0x003F},
{0xA27B,0xA27B,0x003F},
{0xA27C,0xA27C,0x003F},
{0xA27D,0xA27D,0x003F},
{0xA27E,0xA27E,0x003F},
{0xA27F,0xA27F,0xA27F},
{0xA280,0xA280,0x003F}, /* A280 */
{0xA281,0xA281,0x003F},
{0xA282,0xA282,0x003F},
{0xA283,0xA283,0x003F},
{0xA284,0xA284,0x003F},
{0xA285,0xA285,0x003F},
{0xA286,0xA286,0x003F},
{0xA287,0xA287,0x003F},
{0xA288,0xA288,0x003F},
{0xA289,0xA289,0x003F},
{0xA28A,0xA28A,0x003F},
{0xA28B,0xA28B,0x003F},
{0xA28C,0xA28C,0x003F},
{0xA28D,0xA28D,0x003F},
{0xA28E,0xA28E,0x003F},
{0xA28F,0xA28F,0x003F},
{0xA290,0xA290,0x003F}, /* A290 */
{0xA291,0xA291,0x003F},
{0xA292,0xA292,0x003F},
{0xA293,0xA293,0x003F},
{0xA294,0xA294,0x003F},
{0xA295,0xA295,0x003F},
{0xA296,0xA296,0x003F},
{0xA297,0xA297,0x003F},
{0xA298,0xA298,0x003F},
{0xA299,0xA299,0x003F},
{0xA29A,0xA29A,0x003F},
{0xA29B,0xA29B,0x003F},
{0xA29C,0xA29C,0x003F},
{0xA29D,0xA29D,0x003F},
{0xA29E,0xA29E,0x003F},
{0xA29F,0xA29F,0x003F},
{0xA2A0,0xA2A0,0x003F}, /* A2A0 */
{0xA2F1,0xA2A1,0x2170},
{0xA2F2,0xA2A2,0x2171},
{0xA2F3,0xA2A3,0x2172},
{0xA2F4,0xA2A4,0x2173},
{0xA2F5,0xA2A5,0x2174},
{0xA2F6,0xA2A6,0x2175},
{0xA2F7,0xA2A7,0x2176},
{0xA2F8,0xA2A8,0x2177},
{0xA2F9,0xA2A9,0x2178},
{0xA2FA,0xA2AA,0x2179},
{0xA2AB,0xA2AB,0x003F},
{0xA2AC,0xA2AC,0x003F},
{0xA2AD,0xA2AD,0x003F},
{0xA2AE,0xA2AE,0x003F},
{0xA2AF,0xA2AF,0x003F},
{0xA2B0,0xA2B0,0x003F}, /* A2B0 */
{0xA2B1,0xA2B1,0x2488},
{0xA2B2,0xA2B2,0x2489},
{0xA2B3,0xA2B3,0x248A},
{0xA2B4,0xA2B4,0x248B},
{0xA2B5,0xA2B5,0x248C},
{0xA2B6,0xA2B6,0x248D},
{0xA2B7,0xA2B7,0x248E},
{0xA2B8,0xA2B8,0x248F},
{0xA2B9,0xA2B9,0x2490},
{0xA2BA,0xA2BA,0x2491},
{0xA2BB,0xA2BB,0x2492},
{0xA2BC,0xA2BC,0x2493},
{0xA2BD,0xA2BD,0x2494},
{0xA2BE,0xA2BE,0x2495},
{0xA2BF,0xA2BF,0x2496},
{0xA2C0,0xA2C0,0x2497}, /* A2C0 */
{0xA2C1,0xA2C1,0x2498},
{0xA2C2,0xA2C2,0x2499},
{0xA2C3,0xA2C3,0x249A},
{0xA2C4,0xA2C4,0x249B},
{0xA2C5,0xA2C5,0x2474},
{0xA2C6,0xA2C6,0x2475},
{0xA2C7,0xA2C7,0x2476},
{0xA2C8,0xA2C8,0x2477},
{0xA2C9,0xA2C9,0x2478},
{0xA2CA,0xA2CA,0x2479},
{0xA2CB,0xA2CB,0x247A},
{0xA2CC,0xA2CC,0x247B},
{0xA2CD,0xA2CD,0x247C},
{0xA2CE,0xA2CE,0x247D},
{0xA2CF,0xA2CF,0x247E},
{0xA2D0,0xA2D0,0x247F}, /* A2D0 */
{0xA2D1,0xA2D1,0x2480},
{0xA2D2,0xA2D2,0x2481},
{0xA2D3,0xA2D3,0x2482},
{0xA2D4,0xA2D4,0x2483},
{0xA2D5,0xA2D5,0x2484},
{0xA2D6,0xA2D6,0x2485},
{0xA2D7,0xA2D7,0x2486},
{0xA2D8,0xA2D8,0x2487},
{0xA2D9,0xA2D9,0x2460},
{0xA2DA,0xA2DA,0x2461},
{0xA2DB,0xA2DB,0x2462},
{0xA2DC,0xA2DC,0x2463},
{0xA2DD,0xA2DD,0x2464},
{0xA2DE,0xA2DE,0x2465},
{0xA2DF,0xA2DF,0x2466},
{0xA2E0,0xA2E0,0x2467}, /* A2E0 */
{0xA2E1,0xA2E1,0x2468},
{0xA2E2,0xA2E2,0x2469},
{0xA2E3,0xA2E3,0x003F},
{0xA2E4,0xA2E4,0x003F},
{0xA2E5,0xA2E5,0x3220},
{0xA2E6,0xA2E6,0x3221},
{0xA2E7,0xA2E7,0x3222},
{0xA2E8,0xA2E8,0x3223},
{0xA2E9,0xA2E9,0x3224},
{0xA2EA,0xA2EA,0x3225},
{0xA2EB,0xA2EB,0x3226},
{0xA2EC,0xA2EC,0x3227},
{0xA2ED,0xA2ED,0x3228},
{0xA2EE,0xA2EE,0x3229},
{0xA2EF,0xA2EF,0x003F},
{0xA2F0,0xA2F0,0x003F}, /* A2F0 */
{0xA2F1,0xA2A1,0x2160},
{0xA2F2,0xA2A2,0x2161},
{0xA2F3,0xA2A3,0x2162},
{0xA2F4,0xA2A4,0x2163},
{0xA2F5,0xA2A5,0x2164},
{0xA2F6,0xA2A6,0x2165},
{0xA2F7,0xA2A7,0x2166},
{0xA2F8,0xA2A8,0x2167},
{0xA2F9,0xA2A9,0x2168},
{0xA2FA,0xA2AA,0x2169},
{0xA2FB,0xA2FB,0x216A},
{0xA2FC,0xA2FC,0x216B},
{0xA2FD,0xA2FD,0x003F},
{0xA2FE,0xA2FE,0x003F},
{0xA2FF,0xA2FF,0xA2FF}
};
static MY_UNICASE_INFO cA3[256]=
{
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0xA340,0xA340,0x003F}, /* A340 */
{0xA341,0xA341,0x003F},
{0xA342,0xA342,0x003F},
{0xA343,0xA343,0x003F},
{0xA344,0xA344,0x003F},
{0xA345,0xA345,0x003F},
{0xA346,0xA346,0x003F},
{0xA347,0xA347,0x003F},
{0xA348,0xA348,0x003F},
{0xA349,0xA349,0x003F},
{0xA34A,0xA34A,0x003F},
{0xA34B,0xA34B,0x003F},
{0xA34C,0xA34C,0x003F},
{0xA34D,0xA34D,0x003F},
{0xA34E,0xA34E,0x003F},
{0xA34F,0xA34F,0x003F},
{0xA350,0xA350,0x003F}, /* A350 */
{0xA351,0xA351,0x003F},
{0xA352,0xA352,0x003F},
{0xA353,0xA353,0x003F},
{0xA354,0xA354,0x003F},
{0xA355,0xA355,0x003F},
{0xA356,0xA356,0x003F},
{0xA357,0xA357,0x003F},
{0xA358,0xA358,0x003F},
{0xA359,0xA359,0x003F},
{0xA35A,0xA35A,0x003F},
{0xA35B,0xA35B,0x003F},
{0xA35C,0xA35C,0x003F},
{0xA35D,0xA35D,0x003F},
{0xA35E,0xA35E,0x003F},
{0xA35F,0xA35F,0x003F},
{0xA360,0xA360,0x003F}, /* A360 */
{0xA361,0xA361,0x003F},
{0xA362,0xA362,0x003F},
{0xA363,0xA363,0x003F},
{0xA364,0xA364,0x003F},
{0xA365,0xA365,0x003F},
{0xA366,0xA366,0x003F},
{0xA367,0xA367,0x003F},
{0xA368,0xA368,0x003F},
{0xA369,0xA369,0x003F},
{0xA36A,0xA36A,0x003F},
{0xA36B,0xA36B,0x003F},
{0xA36C,0xA36C,0x003F},
{0xA36D,0xA36D,0x003F},
{0xA36E,0xA36E,0x003F},
{0xA36F,0xA36F,0x003F},
{0xA370,0xA370,0x003F}, /* A370 */
{0xA371,0xA371,0x003F},
{0xA372,0xA372,0x003F},
{0xA373,0xA373,0x003F},
{0xA374,0xA374,0x003F},
{0xA375,0xA375,0x003F},
{0xA376,0xA376,0x003F},
{0xA377,0xA377,0x003F},
{0xA378,0xA378,0x003F},
{0xA379,0xA379,0x003F},
{0xA37A,0xA37A,0x003F},
{0xA37B,0xA37B,0x003F},
{0xA37C,0xA37C,0x003F},
{0xA37D,0xA37D,0x003F},
{0xA37E,0xA37E,0x003F},
{0xA37F,0xA37F,0xA37F},
{0xA380,0xA380,0x003F}, /* A380 */
{0xA381,0xA381,0x003F},
{0xA382,0xA382,0x003F},
{0xA383,0xA383,0x003F},
{0xA384,0xA384,0x003F},
{0xA385,0xA385,0x003F},
{0xA386,0xA386,0x003F},
{0xA387,0xA387,0x003F},
{0xA388,0xA388,0x003F},
{0xA389,0xA389,0x003F},
{0xA38A,0xA38A,0x003F},
{0xA38B,0xA38B,0x003F},
{0xA38C,0xA38C,0x003F},
{0xA38D,0xA38D,0x003F},
{0xA38E,0xA38E,0x003F},
{0xA38F,0xA38F,0x003F},
{0xA390,0xA390,0x003F}, /* A390 */
{0xA391,0xA391,0x003F},
{0xA392,0xA392,0x003F},
{0xA393,0xA393,0x003F},
{0xA394,0xA394,0x003F},
{0xA395,0xA395,0x003F},
{0xA396,0xA396,0x003F},
{0xA397,0xA397,0x003F},
{0xA398,0xA398,0x003F},
{0xA399,0xA399,0x003F},
{0xA39A,0xA39A,0x003F},
{0xA39B,0xA39B,0x003F},
{0xA39C,0xA39C,0x003F},
{0xA39D,0xA39D,0x003F},
{0xA39E,0xA39E,0x003F},
{0xA39F,0xA39F,0x003F},
{0xA3A0,0xA3A0,0x003F}, /* A3A0 */
{0xA3A1,0xA3A1,0xFF01},
{0xA3A2,0xA3A2,0xFF02},
{0xA3A3,0xA3A3,0xFF03},
{0xA3A4,0xA3A4,0xFFE5},
{0xA3A5,0xA3A5,0xFF05},
{0xA3A6,0xA3A6,0xFF06},
{0xA3A7,0xA3A7,0xFF07},
{0xA3A8,0xA3A8,0xFF08},
{0xA3A9,0xA3A9,0xFF09},
{0xA3AA,0xA3AA,0xFF0A},
{0xA3AB,0xA3AB,0xFF0B},
{0xA3AC,0xA3AC,0xFF0C},
{0xA3AD,0xA3AD,0xFF0D},
{0xA3AE,0xA3AE,0xFF0E},
{0xA3AF,0xA3AF,0xFF0F},
{0xA3B0,0xA3B0,0xFF10}, /* A3B0 */
{0xA3B1,0xA3B1,0xFF11},
{0xA3B2,0xA3B2,0xFF12},
{0xA3B3,0xA3B3,0xFF13},
{0xA3B4,0xA3B4,0xFF14},
{0xA3B5,0xA3B5,0xFF15},
{0xA3B6,0xA3B6,0xFF16},
{0xA3B7,0xA3B7,0xFF17},
{0xA3B8,0xA3B8,0xFF18},
{0xA3B9,0xA3B9,0xFF19},
{0xA3BA,0xA3BA,0xFF1A},
{0xA3BB,0xA3BB,0xFF1B},
{0xA3BC,0xA3BC,0xFF1C},
{0xA3BD,0xA3BD,0xFF1D},
{0xA3BE,0xA3BE,0xFF1E},
{0xA3BF,0xA3BF,0xFF1F},
{0xA3C0,0xA3C0,0xFF20}, /* A3C0 */
{0xA3C1,0xA3E1,0xFF21},
{0xA3C2,0xA3E2,0xFF22},
{0xA3C3,0xA3E3,0xFF23},
{0xA3C4,0xA3E4,0xFF24},
{0xA3C5,0xA3E5,0xFF25},
{0xA3C6,0xA3E6,0xFF26},
{0xA3C7,0xA3E7,0xFF27},
{0xA3C8,0xA3E8,0xFF28},
{0xA3C9,0xA3E9,0xFF29},
{0xA3CA,0xA3EA,0xFF2A},
{0xA3CB,0xA3EB,0xFF2B},
{0xA3CC,0xA3EC,0xFF2C},
{0xA3CD,0xA3ED,0xFF2D},
{0xA3CE,0xA3EE,0xFF2E},
{0xA3CF,0xA3EF,0xFF2F},
{0xA3D0,0xA3F0,0xFF30}, /* A3D0 */
{0xA3D1,0xA3F1,0xFF31},
{0xA3D2,0xA3F2,0xFF32},
{0xA3D3,0xA3F3,0xFF33},
{0xA3D4,0xA3F4,0xFF34},
{0xA3D5,0xA3F5,0xFF35},
{0xA3D6,0xA3F6,0xFF36},
{0xA3D7,0xA3F7,0xFF37},
{0xA3D8,0xA3F8,0xFF38},
{0xA3D9,0xA3F9,0xFF39},
{0xA3DA,0xA3FA,0xFF3A},
{0xA3DB,0xA3DB,0xFF3B},
{0xA3DC,0xA3DC,0xFF3C},
{0xA3DD,0xA3DD,0xFF3D},
{0xA3DE,0xA3DE,0xFF3E},
{0xA3DF,0xA3DF,0xFF3F},
{0xA3E0,0xA3E0,0xFF40}, /* A3E0 */
{0xA3C1,0xA3E1,0xFF41},
{0xA3C2,0xA3E2,0xFF42},
{0xA3C3,0xA3E3,0xFF43},
{0xA3C4,0xA3E4,0xFF44},
{0xA3C5,0xA3E5,0xFF45},
{0xA3C6,0xA3E6,0xFF46},
{0xA3C7,0xA3E7,0xFF47},
{0xA3C8,0xA3E8,0xFF48},
{0xA3C9,0xA3E9,0xFF49},
{0xA3CA,0xA3EA,0xFF4A},
{0xA3CB,0xA3EB,0xFF4B},
{0xA3CC,0xA3EC,0xFF4C},
{0xA3CD,0xA3ED,0xFF4D},
{0xA3CE,0xA3EE,0xFF4E},
{0xA3CF,0xA3EF,0xFF4F},
{0xA3D0,0xA3F0,0xFF50}, /* A3F0 */
{0xA3D1,0xA3F1,0xFF51},
{0xA3D2,0xA3F2,0xFF52},
{0xA3D3,0xA3F3,0xFF53},
{0xA3D4,0xA3F4,0xFF54},
{0xA3D5,0xA3F5,0xFF55},
{0xA3D6,0xA3F6,0xFF56},
{0xA3D7,0xA3F7,0xFF57},
{0xA3D8,0xA3F8,0xFF58},
{0xA3D9,0xA3F9,0xFF59},
{0xA3DA,0xA3FA,0xFF5A},
{0xA3FB,0xA3FB,0xFF5B},
{0xA3FC,0xA3FC,0xFF5C},
{0xA3FD,0xA3FD,0xFF5D},
{0xA3FE,0xA3FE,0xFFE3},
{0xA3FF,0xA3FF,0xA3FF}
};
static MY_UNICASE_INFO cA6[256]=
{
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0xA640,0xA640,0x003F}, /* A640 */
{0xA641,0xA641,0x003F},
{0xA642,0xA642,0x003F},
{0xA643,0xA643,0x003F},
{0xA644,0xA644,0x003F},
{0xA645,0xA645,0x003F},
{0xA646,0xA646,0x003F},
{0xA647,0xA647,0x003F},
{0xA648,0xA648,0x003F},
{0xA649,0xA649,0x003F},
{0xA64A,0xA64A,0x003F},
{0xA64B,0xA64B,0x003F},
{0xA64C,0xA64C,0x003F},
{0xA64D,0xA64D,0x003F},
{0xA64E,0xA64E,0x003F},
{0xA64F,0xA64F,0x003F},
{0xA650,0xA650,0x003F}, /* A650 */
{0xA651,0xA651,0x003F},
{0xA652,0xA652,0x003F},
{0xA653,0xA653,0x003F},
{0xA654,0xA654,0x003F},
{0xA655,0xA655,0x003F},
{0xA656,0xA656,0x003F},
{0xA657,0xA657,0x003F},
{0xA658,0xA658,0x003F},
{0xA659,0xA659,0x003F},
{0xA65A,0xA65A,0x003F},
{0xA65B,0xA65B,0x003F},
{0xA65C,0xA65C,0x003F},
{0xA65D,0xA65D,0x003F},
{0xA65E,0xA65E,0x003F},
{0xA65F,0xA65F,0x003F},
{0xA660,0xA660,0x003F}, /* A660 */
{0xA661,0xA661,0x003F},
{0xA662,0xA662,0x003F},
{0xA663,0xA663,0x003F},
{0xA664,0xA664,0x003F},
{0xA665,0xA665,0x003F},
{0xA666,0xA666,0x003F},
{0xA667,0xA667,0x003F},
{0xA668,0xA668,0x003F},
{0xA669,0xA669,0x003F},
{0xA66A,0xA66A,0x003F},
{0xA66B,0xA66B,0x003F},
{0xA66C,0xA66C,0x003F},
{0xA66D,0xA66D,0x003F},
{0xA66E,0xA66E,0x003F},
{0xA66F,0xA66F,0x003F},
{0xA670,0xA670,0x003F}, /* A670 */
{0xA671,0xA671,0x003F},
{0xA672,0xA672,0x003F},
{0xA673,0xA673,0x003F},
{0xA674,0xA674,0x003F},
{0xA675,0xA675,0x003F},
{0xA676,0xA676,0x003F},
{0xA677,0xA677,0x003F},
{0xA678,0xA678,0x003F},
{0xA679,0xA679,0x003F},
{0xA67A,0xA67A,0x003F},
{0xA67B,0xA67B,0x003F},
{0xA67C,0xA67C,0x003F},
{0xA67D,0xA67D,0x003F},
{0xA67E,0xA67E,0x003F},
{0xA67F,0xA67F,0xA67F},
{0xA680,0xA680,0x003F}, /* A680 */
{0xA681,0xA681,0x003F},
{0xA682,0xA682,0x003F},
{0xA683,0xA683,0x003F},
{0xA684,0xA684,0x003F},
{0xA685,0xA685,0x003F},
{0xA686,0xA686,0x003F},
{0xA687,0xA687,0x003F},
{0xA688,0xA688,0x003F},
{0xA689,0xA689,0x003F},
{0xA68A,0xA68A,0x003F},
{0xA68B,0xA68B,0x003F},
{0xA68C,0xA68C,0x003F},
{0xA68D,0xA68D,0x003F},
{0xA68E,0xA68E,0x003F},
{0xA68F,0xA68F,0x003F},
{0xA690,0xA690,0x003F}, /* A690 */
{0xA691,0xA691,0x003F},
{0xA692,0xA692,0x003F},
{0xA693,0xA693,0x003F},
{0xA694,0xA694,0x003F},
{0xA695,0xA695,0x003F},
{0xA696,0xA696,0x003F},
{0xA697,0xA697,0x003F},
{0xA698,0xA698,0x003F},
{0xA699,0xA699,0x003F},
{0xA69A,0xA69A,0x003F},
{0xA69B,0xA69B,0x003F},
{0xA69C,0xA69C,0x003F},
{0xA69D,0xA69D,0x003F},
{0xA69E,0xA69E,0x003F},
{0xA69F,0xA69F,0x003F},
{0xA6A0,0xA6A0,0x003F}, /* A6A0 */
{0xA6A1,0xA6C1,0x0391},
{0xA6A2,0xA6C2,0x0392},
{0xA6A3,0xA6C3,0x0393},
{0xA6A4,0xA6C4,0x0394},
{0xA6A5,0xA6C5,0x0395},
{0xA6A6,0xA6C6,0x0396},
{0xA6A7,0xA6C7,0x0397},
{0xA6A8,0xA6C8,0x0398},
{0xA6A9,0xA6C9,0x0399},
{0xA6AA,0xA6CA,0x039A},
{0xA6AB,0xA6CB,0x039B},
{0xA6AC,0xA6CC,0x039C},
{0xA6AD,0xA6CD,0x039D},
{0xA6AE,0xA6CE,0x039E},
{0xA6AF,0xA6CF,0x039F},
{0xA6B0,0xA6D0,0x03A0}, /* A6B0 */
{0xA6B1,0xA6D1,0x03A1},
{0xA6B2,0xA6D2,0x03A3},
{0xA6B3,0xA6D3,0x03A4},
{0xA6B4,0xA6D4,0x03A5},
{0xA6B5,0xA6D5,0x03A6},
{0xA6B6,0xA6D6,0x03A7},
{0xA6B7,0xA6D7,0x03A8},
{0xA6B8,0xA6D8,0x03A9},
{0xA6B9,0xA6B9,0x003F},
{0xA6BA,0xA6BA,0x003F},
{0xA6BB,0xA6BB,0x003F},
{0xA6BC,0xA6BC,0x003F},
{0xA6BD,0xA6BD,0x003F},
{0xA6BE,0xA6BE,0x003F},
{0xA6BF,0xA6BF,0x003F},
{0xA6C0,0xA6C0,0x003F}, /* A6C0 */
{0xA6A1,0xA6C1,0x03B1},
{0xA6A2,0xA6C2,0x03B2},
{0xA6A3,0xA6C3,0x03B3},
{0xA6A4,0xA6C4,0x03B4},
{0xA6A5,0xA6C5,0x03B5},
{0xA6A6,0xA6C6,0x03B6},
{0xA6A7,0xA6C7,0x03B7},
{0xA6A8,0xA6C8,0x03B8},
{0xA6A9,0xA6C9,0x03B9},
{0xA6AA,0xA6CA,0x03BA},
{0xA6AB,0xA6CB,0x03BB},
{0xA6AC,0xA6CC,0x03BC},
{0xA6AD,0xA6CD,0x03BD},
{0xA6AE,0xA6CE,0x03BE},
{0xA6AF,0xA6CF,0x03BF},
{0xA6B0,0xA6D0,0x03C0}, /* A6D0 */
{0xA6B1,0xA6D1,0x03C1},
{0xA6B2,0xA6D2,0x03C3},
{0xA6B3,0xA6D3,0x03C4},
{0xA6B4,0xA6D4,0x03C5},
{0xA6B5,0xA6D5,0x03C6},
{0xA6B6,0xA6D6,0x03C7},
{0xA6B7,0xA6D7,0x03C8},
{0xA6B8,0xA6D8,0x03C9},
{0xA6D9,0xA6D9,0x003F},
{0xA6DA,0xA6DA,0x003F},
{0xA6DB,0xA6DB,0x003F},
{0xA6DC,0xA6DC,0x003F},
{0xA6DD,0xA6DD,0x003F},
{0xA6DE,0xA6DE,0x003F},
{0xA6DF,0xA6DF,0x003F},
{0xA6E0,0xA6E0,0xFE35}, /* A6E0 */
{0xA6E1,0xA6E1,0xFE36},
{0xA6E2,0xA6E2,0xFE39},
{0xA6E3,0xA6E3,0xFE3A},
{0xA6E4,0xA6E4,0xFE3F},
{0xA6E5,0xA6E5,0xFE40},
{0xA6E6,0xA6E6,0xFE3D},
{0xA6E7,0xA6E7,0xFE3E},
{0xA6E8,0xA6E8,0xFE41},
{0xA6E9,0xA6E9,0xFE42},
{0xA6EA,0xA6EA,0xFE43},
{0xA6EB,0xA6EB,0xFE44},
{0xA6EC,0xA6EC,0x003F},
{0xA6ED,0xA6ED,0x003F},
{0xA6EE,0xA6EE,0xFE3B},
{0xA6EF,0xA6EF,0xFE3C},
{0xA6F0,0xA6F0,0xFE37}, /* A6F0 */
{0xA6F1,0xA6F1,0xFE38},
{0xA6F2,0xA6F2,0xFE31},
{0xA6F3,0xA6F3,0x003F},
{0xA6F4,0xA6F4,0xFE33},
{0xA6F5,0xA6F5,0xFE34},
{0xA6F6,0xA6F6,0x003F},
{0xA6F7,0xA6F7,0x003F},
{0xA6F8,0xA6F8,0x003F},
{0xA6F9,0xA6F9,0x003F},
{0xA6FA,0xA6FA,0x003F},
{0xA6FB,0xA6FB,0x003F},
{0xA6FC,0xA6FC,0x003F},
{0xA6FD,0xA6FD,0x003F},
{0xA6FE,0xA6FE,0x003F},
{0xA6FF,0xA6FF,0xA6FF}
};
static MY_UNICASE_INFO cA7[256]=
{
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx00 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx10 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx20 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}, /* xx30 */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0xA740,0xA740,0x003F}, /* A740 */
{0xA741,0xA741,0x003F},
{0xA742,0xA742,0x003F},
{0xA743,0xA743,0x003F},
{0xA744,0xA744,0x003F},
{0xA745,0xA745,0x003F},
{0xA746,0xA746,0x003F},
{0xA747,0xA747,0x003F},
{0xA748,0xA748,0x003F},
{0xA749,0xA749,0x003F},
{0xA74A,0xA74A,0x003F},
{0xA74B,0xA74B,0x003F},
{0xA74C,0xA74C,0x003F},
{0xA74D,0xA74D,0x003F},
{0xA74E,0xA74E,0x003F},
{0xA74F,0xA74F,0x003F},
{0xA750,0xA750,0x003F}, /* A750 */
{0xA751,0xA751,0x003F},
{0xA752,0xA752,0x003F},
{0xA753,0xA753,0x003F},
{0xA754,0xA754,0x003F},
{0xA755,0xA755,0x003F},
{0xA756,0xA756,0x003F},
{0xA757,0xA757,0x003F},
{0xA758,0xA758,0x003F},
{0xA759,0xA759,0x003F},
{0xA75A,0xA75A,0x003F},
{0xA75B,0xA75B,0x003F},
{0xA75C,0xA75C,0x003F},
{0xA75D,0xA75D,0x003F},
{0xA75E,0xA75E,0x003F},
{0xA75F,0xA75F,0x003F},
{0xA760,0xA760,0x003F}, /* A760 */
{0xA761,0xA761,0x003F},
{0xA762,0xA762,0x003F},
{0xA763,0xA763,0x003F},
{0xA764,0xA764,0x003F},
{0xA765,0xA765,0x003F},
{0xA766,0xA766,0x003F},
{0xA767,0xA767,0x003F},
{0xA768,0xA768,0x003F},
{0xA769,0xA769,0x003F},
{0xA76A,0xA76A,0x003F},
{0xA76B,0xA76B,0x003F},
{0xA76C,0xA76C,0x003F},
{0xA76D,0xA76D,0x003F},
{0xA76E,0xA76E,0x003F},
{0xA76F,0xA76F,0x003F},
{0xA770,0xA770,0x003F}, /* A770 */
{0xA771,0xA771,0x003F},
{0xA772,0xA772,0x003F},
{0xA773,0xA773,0x003F},
{0xA774,0xA774,0x003F},
{0xA775,0xA775,0x003F},
{0xA776,0xA776,0x003F},
{0xA777,0xA777,0x003F},
{0xA778,0xA778,0x003F},
{0xA779,0xA779,0x003F},
{0xA77A,0xA77A,0x003F},
{0xA77B,0xA77B,0x003F},
{0xA77C,0xA77C,0x003F},
{0xA77D,0xA77D,0x003F},
{0xA77E,0xA77E,0x003F},
{0xA77F,0xA77F,0xA77F},
{0xA780,0xA780,0x003F}, /* A780 */
{0xA781,0xA781,0x003F},
{0xA782,0xA782,0x003F},
{0xA783,0xA783,0x003F},
{0xA784,0xA784,0x003F},
{0xA785,0xA785,0x003F},
{0xA786,0xA786,0x003F},
{0xA787,0xA787,0x003F},
{0xA788,0xA788,0x003F},
{0xA789,0xA789,0x003F},
{0xA78A,0xA78A,0x003F},
{0xA78B,0xA78B,0x003F},
{0xA78C,0xA78C,0x003F},
{0xA78D,0xA78D,0x003F},
{0xA78E,0xA78E,0x003F},
{0xA78F,0xA78F,0x003F},
{0xA790,0xA790,0x003F}, /* A790 */
{0xA791,0xA791,0x003F},
{0xA792,0xA792,0x003F},
{0xA793,0xA793,0x003F},
{0xA794,0xA794,0x003F},
{0xA795,0xA795,0x003F},
{0xA796,0xA796,0x003F},
{0xA797,0xA797,0x003F},
{0xA798,0xA798,0x003F},
{0xA799,0xA799,0x003F},
{0xA79A,0xA79A,0x003F},
{0xA79B,0xA79B,0x003F},
{0xA79C,0xA79C,0x003F},
{0xA79D,0xA79D,0x003F},
{0xA79E,0xA79E,0x003F},
{0xA79F,0xA79F,0x003F},
{0xA7A0,0xA7A0,0x003F}, /* A7A0 */
{0xA7A1,0xA7D1,0x0410},
{0xA7A2,0xA7D2,0x0411},
{0xA7A3,0xA7D3,0x0412},
{0xA7A4,0xA7D4,0x0413},
{0xA7A5,0xA7D5,0x0414},
{0xA7A6,0xA7D6,0x0415},
{0xA7A7,0xA7D7,0x0401},
{0xA7A8,0xA7D8,0x0416},
{0xA7A9,0xA7D9,0x0417},
{0xA7AA,0xA7DA,0x0418},
{0xA7AB,0xA7DB,0x0419},
{0xA7AC,0xA7DC,0x041A},
{0xA7AD,0xA7DD,0x041B},
{0xA7AE,0xA7DE,0x041C},
{0xA7AF,0xA7DF,0x041D},
{0xA7B0,0xA7E0,0x041E}, /* A7B0 */
{0xA7B1,0xA7E1,0x041F},
{0xA7B2,0xA7E2,0x0420},
{0xA7B3,0xA7E3,0x0421},
{0xA7B4,0xA7E4,0x0422},
{0xA7B5,0xA7E5,0x0423},
{0xA7B6,0xA7E6,0x0424},
{0xA7B7,0xA7E7,0x0425},
{0xA7B8,0xA7E8,0x0426},
{0xA7B9,0xA7E9,0x0427},
{0xA7BA,0xA7EA,0x0428},
{0xA7BB,0xA7EB,0x0429},
{0xA7BC,0xA7EC,0x042A},
{0xA7BD,0xA7ED,0x042B},
{0xA7BE,0xA7EE,0x042C},
{0xA7BF,0xA7EF,0x042D},
{0xA7C0,0xA7F0,0x042E}, /* A7C0 */
{0xA7C1,0xA7F1,0x042F},
{0xA7C2,0xA7C2,0x003F},
{0xA7C3,0xA7C3,0x003F},
{0xA7C4,0xA7C4,0x003F},
{0xA7C5,0xA7C5,0x003F},
{0xA7C6,0xA7C6,0x003F},
{0xA7C7,0xA7C7,0x003F},
{0xA7C8,0xA7C8,0x003F},
{0xA7C9,0xA7C9,0x003F},
{0xA7CA,0xA7CA,0x003F},
{0xA7CB,0xA7CB,0x003F},
{0xA7CC,0xA7CC,0x003F},
{0xA7CD,0xA7CD,0x003F},
{0xA7CE,0xA7CE,0x003F},
{0xA7CF,0xA7CF,0x003F},
{0xA7D0,0xA7D0,0x003F}, /* A7D0 */
{0xA7A1,0xA7D1,0x0430},
{0xA7A2,0xA7D2,0x0431},
{0xA7A3,0xA7D3,0x0432},
{0xA7A4,0xA7D4,0x0433},
{0xA7A5,0xA7D5,0x0434},
{0xA7A6,0xA7D6,0x0435},
{0xA7A7,0xA7D7,0x0451},
{0xA7A8,0xA7D8,0x0436},
{0xA7A9,0xA7D9,0x0437},
{0xA7AA,0xA7DA,0x0438},
{0xA7AB,0xA7DB,0x0439},
{0xA7AC,0xA7DC,0x043A},
{0xA7AD,0xA7DD,0x043B},
{0xA7AE,0xA7DE,0x043C},
{0xA7AF,0xA7DF,0x043D},
{0xA7B0,0xA7E0,0x043E}, /* A7E0 */
{0xA7B1,0xA7E1,0x043F},
{0xA7B2,0xA7E2,0x0440},
{0xA7B3,0xA7E3,0x0441},
{0xA7B4,0xA7E4,0x0442},
{0xA7B5,0xA7E5,0x0443},
{0xA7B6,0xA7E6,0x0444},
{0xA7B7,0xA7E7,0x0445},
{0xA7B8,0xA7E8,0x0446},
{0xA7B9,0xA7E9,0x0447},
{0xA7BA,0xA7EA,0x0448},
{0xA7BB,0xA7EB,0x0449},
{0xA7BC,0xA7EC,0x044A},
{0xA7BD,0xA7ED,0x044B},
{0xA7BE,0xA7EE,0x044C},
{0xA7BF,0xA7EF,0x044D},
{0xA7C0,0xA7F0,0x044E}, /* A7F0 */
{0xA7C1,0xA7F1,0x044F},
{0xA7F2,0xA7F2,0x003F},
{0xA7F3,0xA7F3,0x003F},
{0xA7F4,0xA7F4,0x003F},
{0xA7F5,0xA7F5,0x003F},
{0xA7F6,0xA7F6,0x003F},
{0xA7F7,0xA7F7,0x003F},
{0xA7F8,0xA7F8,0x003F},
{0xA7F9,0xA7F9,0x003F},
{0xA7FA,0xA7FA,0x003F},
{0xA7FB,0xA7FB,0x003F},
{0xA7FC,0xA7FC,0x003F},
{0xA7FD,0xA7FD,0x003F},
{0xA7FE,0xA7FE,0x003F},
{0xA7FF,0xA7FF,0xA7FF}
};
static MY_UNICASE_INFO *my_caseinfo_gbk[256]=
{
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 0 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 1 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 2 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 3 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 4 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 5 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 6 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 7 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 8 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 9 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, cA2, cA3, NULL, NULL, cA6, cA7, /* A */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* B */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* C */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* D */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* E */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* F */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
};
static uchar NEAR sort_order_gbk[]=
{
'\000','\001','\002','\003','\004','\005','\006','\007',
@ -10039,7 +10897,7 @@ CHARSET_INFO my_charset_gbk_chinese_ci=
NULL, /* sort_order_big*/
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
my_unicase_default, /* caseinfo */
my_caseinfo_gbk, /* caseinfo */
NULL, /* state_map */
NULL, /* ident_map */
1, /* strxfrm_multiply */
@ -10071,7 +10929,7 @@ CHARSET_INFO my_charset_gbk_bin=
NULL, /* sort_order_big*/
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
my_unicase_default, /* caseinfo */
my_caseinfo_gbk, /* caseinfo */
NULL, /* state_map */
NULL, /* ident_map */
1, /* strxfrm_multiply */

View file

@ -62,6 +62,17 @@ size_t my_casedn_str_mb(CHARSET_INFO * cs, char *str)
}
static inline MY_UNICASE_INFO*
get_case_info_for_ch(CHARSET_INFO *cs, uint page, uint offs)
{
MY_UNICASE_INFO *p;
return cs->caseinfo ? ((p= cs->caseinfo[page]) ? &p[offs] : NULL) : NULL;
}
/*
For character sets which don't change octet length in case conversion.
*/
size_t my_caseup_mb(CHARSET_INFO * cs, char *src, size_t srclen,
char *dst __attribute__((unused)),
size_t dstlen __attribute__((unused)))
@ -70,11 +81,23 @@ size_t my_caseup_mb(CHARSET_INFO * cs, char *src, size_t srclen,
register char *srcend= src + srclen;
register uchar *map= cs->to_upper;
DBUG_ASSERT(cs->caseup_multiply == 1);
DBUG_ASSERT(src == dst && srclen == dstlen);
DBUG_ASSERT(cs->mbmaxlen == 2);
while (src < srcend)
{
if ((l=my_ismbchar(cs, src, srcend)))
src+= l;
{
MY_UNICASE_INFO *ch;
if ((ch= get_case_info_for_ch(cs, (uchar) src[0], (uchar) src[1])))
{
*src++= ch->toupper >> 8;
*src++= ch->toupper & 0xFF;
}
else
src+= l;
}
else
{
*src=(char) map[(uchar) *src];
@ -93,11 +116,23 @@ size_t my_casedn_mb(CHARSET_INFO * cs, char *src, size_t srclen,
register char *srcend= src + srclen;
register uchar *map=cs->to_lower;
DBUG_ASSERT(cs->casedn_multiply == 1);
DBUG_ASSERT(src == dst && srclen == dstlen);
DBUG_ASSERT(cs->mbmaxlen == 2);
while (src < srcend)
{
if ((l= my_ismbchar(cs, src, srcend)))
src+= l;
{
MY_UNICASE_INFO *ch;
if ((ch= get_case_info_for_ch(cs, (uchar) src[0], (uchar) src[1])))
{
*src++= ch->tolower >> 8;
*src++= ch->tolower & 0xFF;
}
else
src+= l;
}
else
{
*src= (char) map[(uchar)*src];
@ -108,6 +143,75 @@ size_t my_casedn_mb(CHARSET_INFO * cs, char *src, size_t srclen,
}
/*
Case folding functions for character set
where case conversion can change string octet length.
For example, in EUCKR,
_euckr 0xA9A5 == "LATIN LETTER DOTLESS I" (Turkish letter)
is upper-cased to to
_euckr 0x49 "LATIN CAPITAL LETTER I" ('usual' letter I)
Length is reduced in this example from two bytes to one byte.
*/
static size_t
my_casefold_mb_varlen(CHARSET_INFO *cs,
char *src, size_t srclen,
char *dst, size_t dstlen __attribute__((unused)),
uchar *map,
size_t is_upper)
{
char *srcend= src + srclen, *dst0= dst;
DBUG_ASSERT(cs->mbmaxlen == 2);
while (src < srcend)
{
size_t mblen= my_ismbchar(cs, src, srcend);
if (mblen)
{
MY_UNICASE_INFO *ch;
if ((ch= get_case_info_for_ch(cs, (uchar) src[0], (uchar) src[1])))
{
int code= is_upper ? ch->toupper : ch->tolower;
src+= 2;
if (code > 0xFF)
*dst++= code >> 8;
*dst++= code & 0xFF;
}
else
{
*dst++= *src++;
*dst++= *src++;
}
}
else
{
*dst++= (char) map[(uchar) *src++];
}
}
return (size_t) (dst - dst0);
}
size_t
my_casedn_mb_varlen(CHARSET_INFO * cs, char *src, size_t srclen,
char *dst, size_t dstlen)
{
DBUG_ASSERT(dstlen >= srclen * cs->casedn_multiply);
DBUG_ASSERT(src != dst || cs->casedn_multiply == 1);
return my_casefold_mb_varlen(cs, src, srclen, dst, dstlen, cs->to_lower, 0);
}
size_t
my_caseup_mb_varlen(CHARSET_INFO * cs, char *src, size_t srclen,
char *dst, size_t dstlen)
{
DBUG_ASSERT(dstlen >= srclen * cs->caseup_multiply);
DBUG_ASSERT(src != dst || cs->caseup_multiply == 1);
return my_casefold_mb_varlen(cs, src, srclen, dst, dstlen, cs->to_upper, 1);
}
/*
my_strcasecmp_mb() returns 0 if strings are equal, non-zero otherwise.
*/

View file

@ -197,6 +197,881 @@ static uint mbcharlen_sjis(CHARSET_INFO *cs __attribute__((unused)),uint c)
#define sjiscode(c,d) ((((uint) (uchar)(c)) << 8) | (uint) (uchar) (d))
static MY_UNICASE_INFO c81[256]=
{
/* 8100-810F */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
/* 8110-811F */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
/* 8120-812F */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
/* 8130-813F */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0x8140,0x8140,0x3000}, /* 8140-814F */
{0x8141,0x8141,0x3001},
{0x8142,0x8142,0x3002},
{0x8143,0x8143,0xFF0C},
{0x8144,0x8144,0xFF0E},
{0x8145,0x8145,0x30FB},
{0x8146,0x8146,0xFF1A},
{0x8147,0x8147,0xFF1B},
{0x8148,0x8148,0xFF1F},
{0x8149,0x8149,0xFF01},
{0x814A,0x814A,0x309B},
{0x814B,0x814B,0x309C},
{0x814C,0x814C,0x00B4},
{0x814D,0x814D,0xFF40},
{0x814E,0x814E,0x00A8},
{0x814F,0x814F,0xFF3E},
{0x8150,0x8150,0xFFE3}, /* 8150-815F */
{0x8151,0x8151,0xFF3F},
{0x8152,0x8152,0x30FD},
{0x8153,0x8153,0x30FE},
{0x8154,0x8154,0x309D},
{0x8155,0x8155,0x309E},
{0x8156,0x8156,0x3003},
{0x8157,0x8157,0x4EDD},
{0x8158,0x8158,0x3005},
{0x8159,0x8159,0x3006},
{0x815A,0x815A,0x3007},
{0x815B,0x815B,0x30FC},
{0x815C,0x815C,0x2015},
{0x815D,0x815D,0x2010},
{0x815E,0x815E,0xFF0F},
{0x815F,0x815F,0xFF3C},
{0x8160,0x8160,0xFF5E}, /* 8160-816F */
{0x8161,0x8161,0x2225},
{0x8162,0x8162,0xFF5C},
{0x8163,0x8163,0x2026},
{0x8164,0x8164,0x2025},
{0x8165,0x8165,0x2018},
{0x8166,0x8166,0x2019},
{0x8167,0x8167,0x201C},
{0x8168,0x8168,0x201D},
{0x8169,0x8169,0xFF08},
{0x816A,0x816A,0xFF09},
{0x816B,0x816B,0x3014},
{0x816C,0x816C,0x3015},
{0x816D,0x816D,0xFF3B},
{0x816E,0x816E,0xFF3D},
{0x816F,0x816F,0xFF5B},
{0x8170,0x8170,0xFF5D}, /* 8170-817F */
{0x8171,0x8171,0x3008},
{0x8172,0x8172,0x3009},
{0x8173,0x8173,0x300A},
{0x8174,0x8174,0x300B},
{0x8175,0x8175,0x300C},
{0x8176,0x8176,0x300D},
{0x8177,0x8177,0x300E},
{0x8178,0x8178,0x300F},
{0x8179,0x8179,0x3010},
{0x817A,0x817A,0x3011},
{0x817B,0x817B,0xFF0B},
{0x817C,0x817C,0xFF0D},
{0x817D,0x817D,0x00B1},
{0x817E,0x817E,0x00D7},
{0,0,0},
{0x8180,0x8180,0x00F7}, /* 8180-818F */
{0x8181,0x8181,0xFF1D},
{0x8182,0x8182,0x2260},
{0x8183,0x8183,0xFF1C},
{0x8184,0x8184,0xFF1E},
{0x8185,0x8185,0x2266},
{0x8186,0x8186,0x2267},
{0x8187,0x8187,0x221E},
{0x8188,0x8188,0x2234},
{0x8189,0x8189,0x2642},
{0x818A,0x818A,0x2640},
{0x818B,0x818B,0x00B0},
{0x818C,0x818C,0x2032},
{0x818D,0x818D,0x2033},
{0x818E,0x818E,0x2103},
{0x818F,0x818F,0xFFE5},
{0x8190,0x8190,0xFF04}, /* 8190-819F*/
{0x8191,0x8191,0xFFE0},
{0x8192,0x8192,0xFFE1},
{0x8193,0x8193,0xFF05},
{0x8194,0x8194,0xFF03},
{0x8195,0x8195,0xFF06},
{0x8196,0x8196,0xFF0A},
{0x8197,0x8197,0xFF20},
{0x8198,0x8198,0x00A7},
{0x8199,0x8199,0x2606},
{0x819A,0x819A,0x2605},
{0x819B,0x819B,0x25CB},
{0x819C,0x819C,0x25CF},
{0x819D,0x819D,0x25CE},
{0x819E,0x819E,0x25C7},
{0x819F,0x819F,0x25C6},
{0x81A0,0x81A0,0x25A1}, /* 81A0-81AF */
{0x81A1,0x81A1,0x25A0},
{0x81A2,0x81A2,0x25B3},
{0x81A3,0x81A3,0x25B2},
{0x81A4,0x81A4,0x25BD},
{0x81A5,0x81A5,0x25BC},
{0x81A6,0x81A6,0x203B},
{0x81A7,0x81A7,0x3012},
{0x81A8,0x81A8,0x2192},
{0x81A9,0x81A9,0x2190},
{0x81AA,0x81AA,0x2191},
{0x81AB,0x81AB,0x2193},
{0x81AC,0x81AC,0x3013},
{0x81AD,0x81AD,0x003F},
{0x81AE,0x81AE,0x003F},
{0x81AF,0x81AF,0x003F},
{0x81B0,0x81B0,0x003F}, /* 81B0-81BF */
{0x81B1,0x81B1,0x003F},
{0x81B2,0x81B2,0x003F},
{0x81B3,0x81B3,0x003F},
{0x81B4,0x81B4,0x003F},
{0x81B5,0x81B5,0x003F},
{0x81B6,0x81B6,0x003F},
{0x81B7,0x81B7,0x003F},
{0x81B8,0x81B8,0x2208},
{0x81B9,0x81B9,0x220B},
{0x81BA,0x81BA,0x2286},
{0x81BB,0x81BB,0x2287},
{0x81BC,0x81BC,0x2282},
{0x81BD,0x81BD,0x2283},
{0x81BE,0x81BE,0x222A},
{0x81BF,0x81BF,0x2229},
{0x81C0,0x81C0,0x003F}, /* 81C0-81CF */
{0x81C1,0x81C1,0x003F},
{0x81C2,0x81C2,0x003F},
{0x81C3,0x81C3,0x003F},
{0x81C4,0x81C4,0x003F},
{0x81C5,0x81C5,0x003F},
{0x81C6,0x81C6,0x003F},
{0x81C7,0x81C7,0x003F},
{0x81C8,0x81C8,0x2227},
{0x81C9,0x81C9,0x2228},
{0x81CA,0x81CA,0xFFE2},
{0x81CB,0x81CB,0x21D2},
{0x81CC,0x81CC,0x21D4},
{0x81CD,0x81CD,0x2200},
{0x81CE,0x81CE,0x2203},
{0x81CF,0x81CF,0x003F},
{0x81D0,0x81D0,0x003F}, /* 81D0-81DF */
{0x81D1,0x81D1,0x003F},
{0x81D2,0x81D2,0x003F},
{0x81D3,0x81D3,0x003F},
{0x81D4,0x81D4,0x003F},
{0x81D5,0x81D5,0x003F},
{0x81D6,0x81D6,0x003F},
{0x81D7,0x81D7,0x003F},
{0x81D8,0x81D8,0x003F},
{0x81D9,0x81D9,0x003F},
{0x81DA,0x81DA,0x2220},
{0x81DB,0x81DB,0x22A5},
{0x81DC,0x81DC,0x2312},
{0x81DD,0x81DD,0x2202},
{0x81DE,0x81DE,0x2207},
{0x81DF,0x81DF,0x2261},
{0x81E0,0x81E0,0x2252}, /* 81E0-81EF */
{0x81E1,0x81E1,0x226A},
{0x81E2,0x81E2,0x226B},
{0x81E3,0x81E3,0x221A},
{0x81E4,0x81E4,0x223D},
{0x81E5,0x81E5,0x221D},
{0x81E6,0x81E6,0x2235},
{0x81E7,0x81E7,0x222B},
{0x81E8,0x81E8,0x222C},
{0x81E9,0x81E9,0x003F},
{0x81EA,0x81EA,0x003F},
{0x81EB,0x81EB,0x003F},
{0x81EC,0x81EC,0x003F},
{0x81ED,0x81ED,0x003F},
{0x81EE,0x81EE,0x003F},
{0x81EF,0x81EF,0x003F},
{0x81F0,0x81F0,0x212B}, /* 81F0-81FF */
{0x81F1,0x81F1,0x2030},
{0x81F2,0x81F2,0x266F},
{0x81F3,0x81F3,0x266D},
{0x81F4,0x81F4,0x266A},
{0x81F5,0x81F5,0x2020},
{0x81F6,0x81F6,0x2021},
{0x81F7,0x81F7,0x00B6},
{0x81F8,0x81F8,0x003F},
{0x81F9,0x81F9,0x003F},
{0x81FA,0x81FA,0x003F},
{0x81FB,0x81FB,0x003F},
{0x81FC,0x81FC,0x25EF},
{0,0,0},
{0,0,0},
{0,0,0},
};
static MY_UNICASE_INFO c82[256]=
{
/* 8200-820F */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
/* 8210-821F */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
/* 8220-822F */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
/* 8230-823F */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0x8240,0x8240,0x003F}, /* 8240-824F */
{0x8241,0x8241,0x003F},
{0x8242,0x8242,0x003F},
{0x8243,0x8243,0x003F},
{0x8244,0x8244,0x003F},
{0x8245,0x8245,0x003F},
{0x8246,0x8246,0x003F},
{0x8247,0x8247,0x003F},
{0x8248,0x8248,0x003F},
{0x8249,0x8249,0x003F},
{0x824A,0x824A,0x003F},
{0x824B,0x824B,0x003F},
{0x824C,0x824C,0x003F},
{0x824D,0x824D,0x003F},
{0x824E,0x824E,0x003F},
{0x824F,0x824F,0xFF10},
{0x8250,0x8250,0xFF11}, /* 8250-825F */
{0x8251,0x8251,0xFF12},
{0x8252,0x8252,0xFF13},
{0x8253,0x8253,0xFF14},
{0x8254,0x8254,0xFF15},
{0x8255,0x8255,0xFF16},
{0x8256,0x8256,0xFF17},
{0x8257,0x8257,0xFF18},
{0x8258,0x8258,0xFF19},
{0x8259,0x8259,0x003F},
{0x825A,0x825A,0x003F},
{0x825B,0x825B,0x003F},
{0x825C,0x825C,0x003F},
{0x825D,0x825D,0x003F},
{0x825E,0x825E,0x003F},
{0x825F,0x825F,0x003F},
{0x8260,0x8281,0xFF21}, /* 8260-826F */
{0x8261,0x8282,0xFF22},
{0x8262,0x8283,0xFF23},
{0x8263,0x8284,0xFF24},
{0x8264,0x8285,0xFF25},
{0x8265,0x8286,0xFF26},
{0x8266,0x8287,0xFF27},
{0x8267,0x8288,0xFF28},
{0x8268,0x8289,0xFF29},
{0x8269,0x828A,0xFF2A},
{0x826A,0x828B,0xFF2B},
{0x826B,0x828C,0xFF2C},
{0x826C,0x828D,0xFF2D},
{0x826D,0x828E,0xFF2E},
{0x826E,0x828F,0xFF2F},
{0x826F,0x8290,0xFF30},
{0x8270,0x8291,0xFF31}, /* 8270-827F */
{0x8271,0x8292,0xFF32},
{0x8272,0x8293,0xFF33},
{0x8273,0x8294,0xFF34},
{0x8274,0x8295,0xFF35},
{0x8275,0x8296,0xFF36},
{0x8276,0x8297,0xFF37},
{0x8277,0x8298,0xFF38},
{0x8278,0x8299,0xFF39},
{0x8279,0x829A,0xFF3A},
{0x827A,0x827A,0x003F},
{0x827B,0x827B,0x003F},
{0x827C,0x827C,0x003F},
{0x827D,0x827D,0x003F},
{0x827E,0x827E,0x003F},
{0,0,0},
{0x8280,0x8280,0x003F}, /* 8280-828F */
{0x8260,0x8281,0xFF41},
{0x8261,0x8282,0xFF42},
{0x8262,0x8283,0xFF43},
{0x8263,0x8284,0xFF44},
{0x8264,0x8285,0xFF45},
{0x8265,0x8286,0xFF46},
{0x8266,0x8287,0xFF47},
{0x8267,0x8288,0xFF48},
{0x8268,0x8289,0xFF49},
{0x8269,0x828A,0xFF4A},
{0x826A,0x828B,0xFF4B},
{0x826B,0x828C,0xFF4C},
{0x826C,0x828D,0xFF4D},
{0x826D,0x828E,0xFF4E},
{0x826E,0x828F,0xFF4F},
{0x826F,0x8290,0xFF50}, /* 8290-829F */
{0x8270,0x8291,0xFF51},
{0x8271,0x8292,0xFF52},
{0x8272,0x8293,0xFF53},
{0x8273,0x8294,0xFF54},
{0x8274,0x8295,0xFF55},
{0x8275,0x8296,0xFF56},
{0x8276,0x8297,0xFF57},
{0x8277,0x8298,0xFF58},
{0x8278,0x8299,0xFF59},
{0x8279,0x829A,0xFF5A},
{0x829B,0x829B,0x003F},
{0x829C,0x829C,0x003F},
{0x829D,0x829D,0x003F},
{0x829E,0x829E,0x003F},
{0x829F,0x829F,0x3041},
{0x82A0,0x82A0,0x3042}, /* 82A0-82AF */
{0x82A1,0x82A1,0x3043},
{0x82A2,0x82A2,0x3044},
{0x82A3,0x82A3,0x3045},
{0x82A4,0x82A4,0x3046},
{0x82A5,0x82A5,0x3047},
{0x82A6,0x82A6,0x3048},
{0x82A7,0x82A7,0x3049},
{0x82A8,0x82A8,0x304A},
{0x82A9,0x82A9,0x304B},
{0x82AA,0x82AA,0x304C},
{0x82AB,0x82AB,0x304D},
{0x82AC,0x82AC,0x304E},
{0x82AD,0x82AD,0x304F},
{0x82AE,0x82AE,0x3050},
{0x82AF,0x82AF,0x3051},
{0x82B0,0x82B0,0x3052}, /* 82B0-82BF */
{0x82B1,0x82B1,0x3053},
{0x82B2,0x82B2,0x3054},
{0x82B3,0x82B3,0x3055},
{0x82B4,0x82B4,0x3056},
{0x82B5,0x82B5,0x3057},
{0x82B6,0x82B6,0x3058},
{0x82B7,0x82B7,0x3059},
{0x82B8,0x82B8,0x305A},
{0x82B9,0x82B9,0x305B},
{0x82BA,0x82BA,0x305C},
{0x82BB,0x82BB,0x305D},
{0x82BC,0x82BC,0x305E},
{0x82BD,0x82BD,0x305F},
{0x82BE,0x82BE,0x3060},
{0x82BF,0x82BF,0x3061},
{0x82C0,0x82C0,0x3062}, /* 82C0-82CF */
{0x82C1,0x82C1,0x3063},
{0x82C2,0x82C2,0x3064},
{0x82C3,0x82C3,0x3065},
{0x82C4,0x82C4,0x3066},
{0x82C5,0x82C5,0x3067},
{0x82C6,0x82C6,0x3068},
{0x82C7,0x82C7,0x3069},
{0x82C8,0x82C8,0x306A},
{0x82C9,0x82C9,0x306B},
{0x82CA,0x82CA,0x306C},
{0x82CB,0x82CB,0x306D},
{0x82CC,0x82CC,0x306E},
{0x82CD,0x82CD,0x306F},
{0x82CE,0x82CE,0x3070},
{0x82CF,0x82CF,0x3071},
{0x82D0,0x82D0,0x3072}, /* 82D0-82DF */
{0x82D1,0x82D1,0x3073},
{0x82D2,0x82D2,0x3074},
{0x82D3,0x82D3,0x3075},
{0x82D4,0x82D4,0x3076},
{0x82D5,0x82D5,0x3077},
{0x82D6,0x82D6,0x3078},
{0x82D7,0x82D7,0x3079},
{0x82D8,0x82D8,0x307A},
{0x82D9,0x82D9,0x307B},
{0x82DA,0x82DA,0x307C},
{0x82DB,0x82DB,0x307D},
{0x82DC,0x82DC,0x307E},
{0x82DD,0x82DD,0x307F},
{0x82DE,0x82DE,0x3080},
{0x82DF,0x82DF,0x3081},
{0x82E0,0x82E0,0x3082}, /* 82E0-82EF */
{0x82E1,0x82E1,0x3083},
{0x82E2,0x82E2,0x3084},
{0x82E3,0x82E3,0x3085},
{0x82E4,0x82E4,0x3086},
{0x82E5,0x82E5,0x3087},
{0x82E6,0x82E6,0x3088},
{0x82E7,0x82E7,0x3089},
{0x82E8,0x82E8,0x308A},
{0x82E9,0x82E9,0x308B},
{0x82EA,0x82EA,0x308C},
{0x82EB,0x82EB,0x308D},
{0x82EC,0x82EC,0x308E},
{0x82ED,0x82ED,0x308F},
{0x82EE,0x82EE,0x3090},
{0x82EF,0x82EF,0x3091},
{0x82F0,0x82F0,0x3092}, /* 82F0-82FF */
{0x82F1,0x82F1,0x3093},
{0x82F2,0x82F2,0x003F},
{0x82F3,0x82F3,0x003F},
{0x82F4,0x82F4,0x003F},
{0x82F5,0x82F5,0x003F},
{0x82F6,0x82F6,0x003F},
{0x82F7,0x82F7,0x003F},
{0x82F8,0x82F8,0x003F},
{0x82F9,0x82F9,0x003F},
{0x82FA,0x82FA,0x003F},
{0x82FB,0x82FB,0x003F},
{0x82FC,0x82FC,0x003F},
{0,0,0}
};
static MY_UNICASE_INFO c83[256]=
{
/* 8300-830F */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
/* 8310-831F */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
/* 8320-832F */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
/* 8330-833F */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0x8340,0x8340,0x30A1}, /* 8340 */
{0x8341,0x8341,0x30A2},
{0x8342,0x8342,0x30A3},
{0x8343,0x8343,0x30A4},
{0x8344,0x8344,0x30A5},
{0x8345,0x8345,0x30A6},
{0x8346,0x8346,0x30A7},
{0x8347,0x8347,0x30A8},
{0x8348,0x8348,0x30A9},
{0x8349,0x8349,0x30AA},
{0x834A,0x834A,0x30AB},
{0x834B,0x834B,0x30AC},
{0x834C,0x834C,0x30AD},
{0x834D,0x834D,0x30AE},
{0x834E,0x834E,0x30AF},
{0x834F,0x834F,0x30B0},
{0x8350,0x8350,0x30B1}, /* 8350 */
{0x8351,0x8351,0x30B2},
{0x8352,0x8352,0x30B3},
{0x8353,0x8353,0x30B4},
{0x8354,0x8354,0x30B5},
{0x8355,0x8355,0x30B6},
{0x8356,0x8356,0x30B7},
{0x8357,0x8357,0x30B8},
{0x8358,0x8358,0x30B9},
{0x8359,0x8359,0x30BA},
{0x835A,0x835A,0x30BB},
{0x835B,0x835B,0x30BC},
{0x835C,0x835C,0x30BD},
{0x835D,0x835D,0x30BE},
{0x835E,0x835E,0x30BF},
{0x835F,0x835F,0x30C0},
{0x8360,0x8360,0x30C1}, /* 8360 */
{0x8361,0x8361,0x30C2},
{0x8362,0x8362,0x30C3},
{0x8363,0x8363,0x30C4},
{0x8364,0x8364,0x30C5},
{0x8365,0x8365,0x30C6},
{0x8366,0x8366,0x30C7},
{0x8367,0x8367,0x30C8},
{0x8368,0x8368,0x30C9},
{0x8369,0x8369,0x30CA},
{0x836A,0x836A,0x30CB},
{0x836B,0x836B,0x30CC},
{0x836C,0x836C,0x30CD},
{0x836D,0x836D,0x30CE},
{0x836E,0x836E,0x30CF},
{0x836F,0x836F,0x30D0},
{0x8370,0x8370,0x30D1}, /* 8370 */
{0x8371,0x8371,0x30D2},
{0x8372,0x8372,0x30D3},
{0x8373,0x8373,0x30D4},
{0x8374,0x8374,0x30D5},
{0x8375,0x8375,0x30D6},
{0x8376,0x8376,0x30D7},
{0x8377,0x8377,0x30D8},
{0x8378,0x8378,0x30D9},
{0x8379,0x8379,0x30DA},
{0x837A,0x837A,0x30DB},
{0x837B,0x837B,0x30DC},
{0x837C,0x837C,0x30DD},
{0x837D,0x837D,0x30DE},
{0x837E,0x837E,0x30DF},
{0,0,0},
{0x8380,0x8380,0x30E0}, /* 8380 */
{0x8381,0x8381,0x30E1},
{0x8382,0x8382,0x30E2},
{0x8383,0x8383,0x30E3},
{0x8384,0x8384,0x30E4},
{0x8385,0x8385,0x30E5},
{0x8386,0x8386,0x30E6},
{0x8387,0x8387,0x30E7},
{0x8388,0x8388,0x30E8},
{0x8389,0x8389,0x30E9},
{0x838A,0x838A,0x30EA},
{0x838B,0x838B,0x30EB},
{0x838C,0x838C,0x30EC},
{0x838D,0x838D,0x30ED},
{0x838E,0x838E,0x30EE},
{0x838F,0x838F,0x30EF},
{0x8390,0x8390,0x30F0}, /* 8390 */
{0x8391,0x8391,0x30F1},
{0x8392,0x8392,0x30F2},
{0x8393,0x8393,0x30F3},
{0x8394,0x8394,0x30F4},
{0x8395,0x8395,0x30F5},
{0x8396,0x8396,0x30F6},
{0x8397,0x8397,0x003F},
{0x8398,0x8398,0x003F},
{0x8399,0x8399,0x003F},
{0x839A,0x839A,0x003F},
{0x839B,0x839B,0x003F},
{0x839C,0x839C,0x003F},
{0x839D,0x839D,0x003F},
{0x839E,0x839E,0x003F},
{0x839F,0x83BF,0x0391},
{0x83A0,0x83C0,0x0392}, /* 83A0 */
{0x83A1,0x83C1,0x0393},
{0x83A2,0x83C2,0x0394},
{0x83A3,0x83C3,0x0395},
{0x83A4,0x83C4,0x0396},
{0x83A5,0x83C5,0x0397},
{0x83A6,0x83C6,0x0398},
{0x83A7,0x83C7,0x0399},
{0x83A8,0x83C8,0x039A},
{0x83A9,0x83C9,0x039B},
{0x83AA,0x83CA,0x039C},
{0x83AB,0x83CB,0x039D},
{0x83AC,0x83CC,0x039E},
{0x83AD,0x83CD,0x039F},
{0x83AE,0x83CE,0x03A0},
{0x83AF,0x83CF,0x03A1},
{0x83B0,0x83D0,0x03A3}, /* 83B0 */
{0x83B1,0x83D1,0x03A4},
{0x83B2,0x83D2,0x03A5},
{0x83B3,0x83D3,0x03A6},
{0x83B4,0x83D4,0x03A7},
{0x83B5,0x83D5,0x03A8},
{0x83B6,0x83D6,0x03A9},
{0x83B7,0x83B7,0x003F},
{0x83B8,0x83B8,0x003F},
{0x83B9,0x83B9,0x003F},
{0x83BA,0x83BA,0x003F},
{0x83BB,0x83BB,0x003F},
{0x83BC,0x83BC,0x003F},
{0x83BD,0x83BD,0x003F},
{0x83BE,0x83BE,0x003F},
{0x839F,0x83BF,0x03B1},
{0x83A0,0x83C0,0x03B2}, /* 83C0 */
{0x83A1,0x83C1,0x03B3},
{0x83A2,0x83C2,0x03B4},
{0x83A3,0x83C3,0x03B5},
{0x83A4,0x83C4,0x03B6},
{0x83A5,0x83C5,0x03B7},
{0x83A6,0x83C6,0x03B8},
{0x83A7,0x83C7,0x03B9},
{0x83A8,0x83C8,0x03BA},
{0x83A9,0x83C9,0x03BB},
{0x83AA,0x83CA,0x03BC},
{0x83AB,0x83CB,0x03BD},
{0x83AC,0x83CC,0x03BE},
{0x83AD,0x83CD,0x03BF},
{0x83AE,0x83CE,0x03C0},
{0x83AF,0x83CF,0x03C1},
{0x83B0,0x83D0,0x03C3}, /* 83D0 */
{0x83B1,0x83D1,0x03C4},
{0x83B2,0x83D2,0x03C5},
{0x83B3,0x83D3,0x03C6},
{0x83B4,0x83D4,0x03C7},
{0x83B5,0x83D5,0x03C8},
{0x83B6,0x83D6,0x03C9},
{0x83D7,0x83D7,0x003F},
{0x83D8,0x83D8,0x003F},
{0x83D9,0x83D9,0x003F},
{0x83DA,0x83DA,0x003F},
{0x83DB,0x83DB,0x003F},
{0x83DC,0x83DC,0x003F},
{0x83DD,0x83DD,0x003F},
{0x83DE,0x83DE,0x003F},
{0x83DF,0x83DF,0x003F},
{0x83E0,0x83E0,0x003F}, /* 83E0 */
{0x83E1,0x83E1,0x003F},
{0x83E2,0x83E2,0x003F},
{0x83E3,0x83E3,0x003F},
{0x83E4,0x83E4,0x003F},
{0x83E5,0x83E5,0x003F},
{0x83E6,0x83E6,0x003F},
{0x83E7,0x83E7,0x003F},
{0x83E8,0x83E8,0x003F},
{0x83E9,0x83E9,0x003F},
{0x83EA,0x83EA,0x003F},
{0x83EB,0x83EB,0x003F},
{0x83EC,0x83EC,0x003F},
{0x83ED,0x83ED,0x003F},
{0x83EE,0x83EE,0x003F},
{0x83EF,0x83EF,0x003F},
{0x83F0,0x83F0,0x003F}, /* 83F0 */
{0x83F1,0x83F1,0x003F},
{0x83F2,0x83F2,0x003F},
{0x83F3,0x83F3,0x003F},
{0x83F4,0x83F4,0x003F},
{0x83F5,0x83F5,0x003F},
{0x83F6,0x83F6,0x003F},
{0x83F7,0x83F7,0x003F},
{0x83F8,0x83F8,0x003F},
{0x83F9,0x83F9,0x003F},
{0x83FA,0x83FA,0x003F},
{0x83FB,0x83FB,0x003F},
{0x83FC,0x83FC,0x003F},
{0,0,0},
{0,0,0},
{0,0,0}
};
static MY_UNICASE_INFO c84[256]=
{
/* 8400-840F */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
/* 8410-841F */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
/* 8420-842F */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
/* 8430-843F */
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0x8440,0x8470,0x0410}, /* 8440 */
{0x8441,0x8471,0x0411},
{0x8442,0x8472,0x0412},
{0x8443,0x8473,0x0413},
{0x8444,0x8474,0x0414},
{0x8445,0x8475,0x0415},
{0x8446,0x8476,0x0401},
{0x8447,0x8477,0x0416},
{0x8448,0x8478,0x0417},
{0x8449,0x8479,0x0418},
{0x844A,0x847A,0x0419},
{0x844B,0x847B,0x041A},
{0x844C,0x847C,0x041B},
{0x844D,0x847D,0x041C},
{0x844E,0x847E,0x041D},
{0x844F,0x8480,0x041E},
{0x8450,0x8481,0x041F}, /* 8450 */
{0x8451,0x8482,0x0420},
{0x8452,0x8483,0x0421},
{0x8453,0x8484,0x0422},
{0x8454,0x8485,0x0423},
{0x8455,0x8486,0x0424},
{0x8456,0x8487,0x0425},
{0x8457,0x8488,0x0426},
{0x8458,0x8489,0x0427},
{0x8459,0x848A,0x0428},
{0x845A,0x848B,0x0429},
{0x845B,0x848C,0x042A},
{0x845C,0x848D,0x042B},
{0x845D,0x848E,0x042C},
{0x845E,0x848F,0x042D},
{0x845F,0x8490,0x042E},
{0x8460,0x8491,0x042F}, /* 8460 */
{0x8461,0x8461,0x003F},
{0x8462,0x8462,0x003F},
{0x8463,0x8463,0x003F},
{0x8464,0x8464,0x003F},
{0x8465,0x8465,0x003F},
{0x8466,0x8466,0x003F},
{0x8467,0x8467,0x003F},
{0x8468,0x8468,0x003F},
{0x8469,0x8469,0x003F},
{0x846A,0x846A,0x003F},
{0x846B,0x846B,0x003F},
{0x846C,0x846C,0x003F},
{0x846D,0x846D,0x003F},
{0x846E,0x846E,0x003F},
{0x846F,0x846F,0x003F},
{0x8440,0x8470,0x0430}, /* 8470 */
{0x8441,0x8471,0x0431},
{0x8442,0x8472,0x0432},
{0x8443,0x8473,0x0433},
{0x8444,0x8474,0x0434},
{0x8445,0x8475,0x0435},
{0x8446,0x8476,0x0451},
{0x8447,0x8477,0x0436},
{0x8448,0x8478,0x0437},
{0x8449,0x8479,0x0438},
{0x844A,0x847A,0x0439},
{0x844B,0x847B,0x043A},
{0x844C,0x847C,0x043B},
{0x844D,0x847D,0x043C},
{0x844E,0x847E,0x043D},
{0,0,0},
{0x844F,0x8480,0x043E}, /* 8480 */
{0x8450,0x8481,0x043F},
{0x8451,0x8482,0x0440},
{0x8452,0x8483,0x0441},
{0x8453,0x8484,0x0442},
{0x8454,0x8485,0x0443},
{0x8455,0x8486,0x0444},
{0x8456,0x8487,0x0445},
{0x8457,0x8488,0x0446},
{0x8458,0x8489,0x0447},
{0x8459,0x848A,0x0448},
{0x845A,0x848B,0x0449},
{0x845B,0x848C,0x044A},
{0x845C,0x848D,0x044B},
{0x845D,0x848E,0x044C},
{0x845E,0x848F,0x044D},
{0x845F,0x8490,0x044E}, /* 8490 */
{0x8460,0x8491,0x044F},
{0x8492,0x8492,0x003F},
{0x8493,0x8493,0x003F},
{0x8494,0x8494,0x003F},
{0x8495,0x8495,0x003F},
{0x8496,0x8496,0x003F},
{0x8497,0x8497,0x003F},
{0x8498,0x8498,0x003F},
{0x8499,0x8499,0x003F},
{0x849A,0x849A,0x003F},
{0x849B,0x849B,0x003F},
{0x849C,0x849C,0x003F},
{0x849D,0x849D,0x003F},
{0x849E,0x849E,0x003F},
{0x849F,0x849F,0x2500},
{0x84A0,0x84A0,0x2502}, /* 84A0 */
{0x84A1,0x84A1,0x250C},
{0x84A2,0x84A2,0x2510},
{0x84A3,0x84A3,0x2518},
{0x84A4,0x84A4,0x2514},
{0x84A5,0x84A5,0x251C},
{0x84A6,0x84A6,0x252C},
{0x84A7,0x84A7,0x2524},
{0x84A8,0x84A8,0x2534},
{0x84A9,0x84A9,0x253C},
{0x84AA,0x84AA,0x2501},
{0x84AB,0x84AB,0x2503},
{0x84AC,0x84AC,0x250F},
{0x84AD,0x84AD,0x2513},
{0x84AE,0x84AE,0x251B},
{0x84AF,0x84AF,0x2517},
{0x84B0,0x84B0,0x2523}, /* 84B0 */
{0x84B1,0x84B1,0x2533},
{0x84B2,0x84B2,0x252B},
{0x84B3,0x84B3,0x253B},
{0x84B4,0x84B4,0x254B},
{0x84B5,0x84B5,0x2520},
{0x84B6,0x84B6,0x252F},
{0x84B7,0x84B7,0x2528},
{0x84B8,0x84B8,0x2537},
{0x84B9,0x84B9,0x253F},
{0x84BA,0x84BA,0x251D},
{0x84BB,0x84BB,0x2530},
{0x84BC,0x84BC,0x2525},
{0x84BD,0x84BD,0x2538},
{0x84BE,0x84BE,0x2542},
{0x84BF,0x84BF,0x003F},
{0x84C0,0x84C0,0x003F}, /* 84C0 */
{0x84C1,0x84C1,0x003F},
{0x84C2,0x84C2,0x003F},
{0x84C3,0x84C3,0x003F},
{0x84C4,0x84C4,0x003F},
{0x84C5,0x84C5,0x003F},
{0x84C6,0x84C6,0x003F},
{0x84C7,0x84C7,0x003F},
{0x84C8,0x84C8,0x003F},
{0x84C9,0x84C9,0x003F},
{0x84CA,0x84CA,0x003F},
{0x84CB,0x84CB,0x003F},
{0x84CC,0x84CC,0x003F},
{0x84CD,0x84CD,0x003F},
{0x84CE,0x84CE,0x003F},
{0x84CF,0x84CF,0x003F},
{0x84D0,0x84D0,0x003F}, /* 84D0 */
{0x84D1,0x84D1,0x003F},
{0x84D2,0x84D2,0x003F},
{0x84D3,0x84D3,0x003F},
{0x84D4,0x84D4,0x003F},
{0x84D5,0x84D5,0x003F},
{0x84D6,0x84D6,0x003F},
{0x84D7,0x84D7,0x003F},
{0x84D8,0x84D8,0x003F},
{0x84D9,0x84D9,0x003F},
{0x84DA,0x84DA,0x003F},
{0x84DB,0x84DB,0x003F},
{0x84DC,0x84DC,0x003F},
{0x84DD,0x84DD,0x003F},
{0x84DE,0x84DE,0x003F},
{0x84DF,0x84DF,0x003F},
{0x84E0,0x84E0,0x003F}, /* 84E0 */
{0x84E1,0x84E1,0x003F},
{0x84E2,0x84E2,0x003F},
{0x84E3,0x84E3,0x003F},
{0x84E4,0x84E4,0x003F},
{0x84E5,0x84E5,0x003F},
{0x84E6,0x84E6,0x003F},
{0x84E7,0x84E7,0x003F},
{0x84E8,0x84E8,0x003F},
{0x84E9,0x84E9,0x003F},
{0x84EA,0x84EA,0x003F},
{0x84EB,0x84EB,0x003F},
{0x84EC,0x84EC,0x003F},
{0x84ED,0x84ED,0x003F},
{0x84EE,0x84EE,0x003F},
{0x84EF,0x84EF,0x003F},
{0x84F0,0x84F0,0x003F}, /* 84F0 */
{0x84F1,0x84F1,0x003F},
{0x84F2,0x84F2,0x003F},
{0x84F3,0x84F3,0x003F},
{0x84F4,0x84F4,0x003F},
{0x84F5,0x84F5,0x003F},
{0x84F6,0x84F6,0x003F},
{0x84F7,0x84F7,0x003F},
{0x84F8,0x84F8,0x003F},
{0x84F9,0x84F9,0x003F},
{0x84FA,0x84FA,0x003F},
{0x84FB,0x84FB,0x003F},
{0x84FC,0x84FC,0x003F},
{0,0,0},
{0,0,0},
{0,0,0}
};
static MY_UNICASE_INFO *my_caseinfo_sjis[256]=
{
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 0 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 1 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 2 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 3 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 4 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 5 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 6 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 7 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, c81, c82, c83, c84, NULL, NULL, NULL, /* 8 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 9 */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* A */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* B */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* C */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* D */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* E */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* F */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
};
static int my_strnncoll_sjis_internal(CHARSET_INFO *cs,
const uchar **a_res, size_t a_length,
const uchar **b_res, size_t b_length)
@ -4685,7 +5560,7 @@ CHARSET_INFO my_charset_sjis_japanese_ci=
NULL, /* sort_order_big*/
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
my_unicase_default, /* caseinfo */
my_caseinfo_sjis, /* caseinfo */
NULL, /* state_map */
NULL, /* ident_map */
1, /* strxfrm_multiply */
@ -4717,7 +5592,7 @@ CHARSET_INFO my_charset_sjis_bin=
NULL, /* sort_order_big*/
NULL, /* tab_to_uni */
NULL, /* tab_from_uni */
my_unicase_default, /* caseinfo */
my_caseinfo_sjis, /* caseinfo */
NULL, /* state_map */
NULL, /* ident_map */
1, /* strxfrm_multiply */

File diff suppressed because it is too large Load diff