diff options
author | unknown <bar@mysql.com/bar.intranet.mysql.r18.ru> | 2006-07-20 15:52:48 +0500 |
---|---|---|
committer | unknown <bar@mysql.com/bar.intranet.mysql.r18.ru> | 2006-07-20 15:52:48 +0500 |
commit | d2f7fe35584a75d5bc3a9a6950cc15d264e31241 (patch) | |
tree | cf338a30b3f30a560b5848d02c779d417afbbd14 /strings/CHARSET_INFO.txt | |
parent | b53e47a1ec183896994b5dbbae5e27129fce6981 (diff) | |
download | mariadb-git-d2f7fe35584a75d5bc3a9a6950cc15d264e31241.tar.gz |
Bug#20471 LIKE search fails with indexed utf8 char column
The main problem was already fixed by Igor under terms of 16674.
Adding some additional minor fixes and tests.
include/m_ctype.h:
Adding reference to CHARSET_INFO.txt
mysql-test/r/ctype_utf8.result:
Adding test case
mysql-test/t/ctype_utf8.test:
Adding test case
strings/CHARSET_INFO.txt:
Adding comment about max_sort_char
strings/ctype-mb.c:
Restiring that non-Unicode character sets use 0xFF as pad character
for max_str. Only Unicode character sets use wc_mb.
strings/ctype-utf8.c:
Fixed that max_sort_char for UTF8 from U+00FF to U+FFFF.
Diffstat (limited to 'strings/CHARSET_INFO.txt')
-rw-r--r-- | strings/CHARSET_INFO.txt | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/strings/CHARSET_INFO.txt b/strings/CHARSET_INFO.txt index f7a10f95880..3fd262c6f12 100644 --- a/strings/CHARSET_INFO.txt +++ b/strings/CHARSET_INFO.txt @@ -33,7 +33,7 @@ typedef struct charset_info_st uint strxfrm_multiply; uint mbminlen; uint mbmaxlen; - char max_sort_char; /* For LIKE optimization */ + uint16 max_sort_char; /* For LIKE optimization */ MY_CHARSET_HANDLER *cset; MY_COLLATION_HANDLER *coll; @@ -134,7 +134,15 @@ Misc fields mbmaxlen - maximum multibyte sequence length. 1 for 8bit charsets. Can be also 2 or 3. - + max_sort_char - for LIKE range + in case of 8bit character sets - native code + of maximum character (max_str pad byte); + in case of UTF8 and UCS2 - Unicode code of the maximum + possible character (usually U+FFFF). This code is + converted to multibyte representation (usually 0xEFBFBF) + and then used as a pad sequence for max_str. + in case of other multibyte character sets - + max_str pad byte (usually 0xFF). MY_CHARSET_HANDLER ================== |