summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAlexander Barkov <bar@mysql.com>2010-02-15 09:57:24 +0400
committerAlexander Barkov <bar@mysql.com>2010-02-15 09:57:24 +0400
commit4e4122b9998441a6ba4bab00c45a793a6db996ba (patch)
tree8b672b32663254e0398e1de3a2f3851f9b4a9737 /include
parentcd437325bbfac833a14ece01a9772f49ad6c6fee (diff)
downloadmariadb-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.h17
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;