diff options
author | Alexander Barkov <bar@mysql.com> | 2010-02-15 09:57:24 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mysql.com> | 2010-02-15 09:57:24 +0400 |
commit | 4e4122b9998441a6ba4bab00c45a793a6db996ba (patch) | |
tree | 8b672b32663254e0398e1de3a2f3851f9b4a9737 /include | |
parent | cd437325bbfac833a14ece01a9772f49ad6c6fee (diff) | |
download | mariadb-git-4e4122b9998441a6ba4bab00c45a793a6db996ba.tar.gz |
WL#3090 Japanese Character Set adjustments
added:
@ mysql-test/include/ctype_utf8_table.inc
Adding a share file to populate all utf8 values [U+0000..U+FFFF]
modified:
@ include/m_ctype.h
Introducing MB2 and MY_PUT_MB2 macros
@ mysql-test/r/ctype_cp932_binlog_stm.result
@ mysql-test/r/ctype_eucjpms.result
@ mysql-test/r/ctype_sjis.result
@ mysql-test/r/ctype_ujis.result
@ mysql-test/t/ctype_cp932_binlog_stm.test
@ mysql-test/t/ctype_eucjpms.test
@ mysql-test/t/ctype_sjis.test
@ mysql-test/t/ctype_ujis.test
Adding test
@ strings/ctype-cp932.c
@ strings/ctype-eucjpms.c
@ strings/ctype-sjis.c
@ strings/ctype-ujis.c
Adding new functions using Big-Table approach.
Diffstat (limited to 'include')
-rw-r--r-- | include/m_ctype.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/include/m_ctype.h b/include/m_ctype.h index 35d40e8bfa4..597081c5f6e 100644 --- a/include/m_ctype.h +++ b/include/m_ctype.h @@ -38,6 +38,23 @@ extern "C" { #define my_wc_t ulong + +/* + On i386 we store Unicode->CS conversion tables for + some character sets using Big-endian order, + to copy two bytes at onces. + This gives some performance improvement. +*/ +#ifdef __i386__ +#define MB2(x) (((x) >> 8) + (((x) & 0xFF) << 8)) +#define MY_PUT_MB2(s, code) { *((uint16*)(s))= (code); } +#else +#define MB2(x) (x) +#define MY_PUT_MB2(s, code) { s[0]= code >> 8; s[1]= code & 0xFF; } +#endif + + + typedef struct unicase_info_st { uint32 toupper; |