diff options
author | unknown <bar@bar.mysql.r18.ru> | 2003-05-26 20:22:23 +0500 |
---|---|---|
committer | unknown <bar@bar.mysql.r18.ru> | 2003-05-26 20:22:23 +0500 |
commit | 720584b0c6eb435fa87b5da42578f214d83735d1 (patch) | |
tree | 44e581c5024f3bc227c59de0debb99b118fac076 | |
parent | 12604089b6acd8242a506d021449bdc515b72e14 (diff) | |
download | mariadb-git-720584b0c6eb435fa87b5da42578f214d83735d1.tar.gz |
--with-charset was not up to date
ctype_ucs2 and ctype_ujis were skipped in mistake
-rw-r--r-- | acconfig.h | 29 | ||||
-rw-r--r-- | configure.in | 164 | ||||
-rw-r--r-- | mysql-test/r/ctype_ujis.result | 2 | ||||
-rw-r--r-- | mysql-test/r/have_ucs2.require | 2 | ||||
-rw-r--r-- | mysql-test/r/have_ujis.require | 2 | ||||
-rw-r--r-- | mysys/charset.c | 12 | ||||
-rw-r--r-- | strings/ctype-czech.c | 2 | ||||
-rw-r--r-- | strings/ctype-euc_kr.c | 2 | ||||
-rw-r--r-- | strings/ctype-win1250ch.c | 5 |
9 files changed, 108 insertions, 112 deletions
diff --git a/acconfig.h b/acconfig.h index 5f47365709c..6bd017bbbce 100644 --- a/acconfig.h +++ b/acconfig.h @@ -68,40 +68,37 @@ /* Define charsets you want */ #undef HAVE_CHARSET_armscii8 +#undef HAVE_CHARSET_ascii #undef HAVE_CHARSET_big5 +#undef HAVE_CHARSET_cp1250 #undef HAVE_CHARSET_cp1251 +#undef HAVE_CHARSET_cp1256 #undef HAVE_CHARSET_cp1257 -#undef HAVE_CHARSET_croat -#undef HAVE_CHARSET_czech -#undef HAVE_CHARSET_danish +#undef HAVE_CHARSET_cp850 +#undef HAVE_CHARSET_cp852 +#undef HAVE_CHARSET_cp866 #undef HAVE_CHARSET_dec8 -#undef HAVE_CHARSET_dos -#undef HAVE_CHARSET_estonia -#undef HAVE_CHARSET_euc_kr +#undef HAVE_CHARSET_euckr #undef HAVE_CHARSET_gb2312 #undef HAVE_CHARSET_gbk -#undef HAVE_CHARSET_german1 #undef HAVE_CHARSET_greek #undef HAVE_CHARSET_hebrew #undef HAVE_CHARSET_hp8 -#undef HAVE_CHARSET_hungarian -#undef HAVE_CHARSET_koi8_ru -#undef HAVE_CHARSET_koi8_ukr +#undef HAVE_CHARSET_keybcs2 +#undef HAVE_CHARSET_koi8r +#undef HAVE_CHARSET_koi8u #undef HAVE_CHARSET_latin1 -#undef HAVE_CHARSET_latin1_de #undef HAVE_CHARSET_latin2 #undef HAVE_CHARSET_latin5 +#undef HAVE_CHARSET_latin7 +#undef HAVE_CHARSET_macce +#undef HAVE_CHARSET_macroman #undef HAVE_CHARSET_sjis #undef HAVE_CHARSET_swe7 #undef HAVE_CHARSET_tis620 #undef HAVE_CHARSET_ucs2 #undef HAVE_CHARSET_ujis -#undef HAVE_CHARSET_usa7 #undef HAVE_CHARSET_utf8 -#undef HAVE_CHARSET_win1250 -#undef HAVE_CHARSET_win1250ch -#undef HAVE_CHARSET_win1251ukr -#undef HAVE_CHARSET_win1251 /* ZLIB and compress: */ #undef HAVE_COMPRESS diff --git a/configure.in b/configure.in index c0ce5221832..63286db74c5 100644 --- a/configure.in +++ b/configure.in @@ -2226,28 +2226,35 @@ AC_SUBST(readline_h_ln_cmd) dnl In order to add new charset, you must add charset name to -dnl this CHARSETS_AVAILABLE list and sql/share/charsets/Index. +dnl this CHARSETS_AVAILABLE list and sql/share/charsets/Index.xml. dnl If the character set uses strcoll or other special handling, dnl you must also create strings/ctype-$charset_name.c AC_DIVERT_PUSH(0) -CHARSETS_AVAILABLE="armscii8 big5 cp1251 cp1257 - croat czech danish dec8 dos estonia euc_kr gb2312 gbk - german1 greek hebrew hp8 hungarian koi8_ru koi8_ukr - latin1 latin1_de latin2 latin5 sjis swe7 tis620 ucs2 ujis - usa7 utf8 win1250 win1250ch win1251ukr" -CHARSETS_DEPRECATED="win1251" -CHARSETS_COMPLEX="big5 czech euc_kr gb2312 gbk latin1_de sjis tis620 ucs2 ujis utf8 win1250ch" + +define(CHARSETS_AVAILABLE1,ascii armscii8 ascii big5 cp1250 cp1251 cp1256 cp1257) +define(CHARSETS_AVAILABLE2,cp850 cp852 cp866 dec8 euckr gb2312 gbk) +define(CHARSETS_AVAILABLE3,greek hebrew hp8 keybcs2 koi8r koi8u) +define(CHARSETS_AVAILABLE4,latin1 latin2 latin5 latin7 macce macroman) +define(CHARSETS_AVAILABLE5,sjis swe7 tis620 ucs2 ujis utf8) + DEFAULT_CHARSET=latin1 -AC_DIVERT_POP +CHARSETS_AVAILABLE="CHARSETS_AVAILABLE1 CHARSETS_AVAILABLE2 CHARSETS_AVAILABLE3 CHARSETS_AVAILABLE4 CHARSETS_AVAILABLE5" +CHARSETS_COMPLEX="big5 cp1250 euckr gb2312 gbk latin1 latin2 sjis tis620 ucs2 ujis utf8" -dnl fix this later.. -dnl [ --with-charset=CHARSET Use CHARSET by default (one of: $CHARSETS_AVAILABLE; Default is $DEFAULT_CHARSET)], +AC_DIVERT_POP AC_ARG_WITH(charset, - [ --with-charset=CHARSET Use CHARSET by default (Default is latin1)], - [default_charset="$withval"], - [default_charset="$DEFAULT_CHARSET"]) + [ --with-charset=CHARSET + Default character set, use one of: + CHARSETS_AVAILABLE1 + CHARSETS_AVAILABLE2 + CHARSETS_AVAILABLE3 + CHARSETS_AVAILABLE4 + CHARSETS_AVAILABLE5], + [default_charset="$withval"], + [default_charset="$DEFAULT_CHARSET"]) + AC_ARG_WITH(extra-charsets, [ --with-extra-charsets=CHARSET[,CHARSET,...] @@ -2256,73 +2263,77 @@ AC_ARG_WITH(extra-charsets, [extra_charsets="$withval"], [extra_charsets="none"]) + AC_MSG_CHECKING("character sets") +CHARSETS="$default_charset latin1 utf8" + if test "$extra_charsets" = no; then - CHARSETS="" + CHARSETS="$CHARSETS" elif test "$extra_charsets" = none; then - CHARSETS="" + CHARSETS="$CHARSETS" elif test "$extra_charsets" = complex; then - CHARSETS="$CHARSETS_COMPLEX" + CHARSETS="$CHARSETS $CHARSETS_COMPLEX" elif test "$extra_charsets" = all; then - CHARSETS="$CHARSETS_AVAILABLE $CHARSETS_DEPRECATED" + CHARSETS="$CHARSETS $CHARSETS_AVAILABLE" else - CHARSETS=`echo $extra_charsets | sed -e 's/,/ /g'` + EXTRA_CHARSETS=`echo $extra_charsets | sed -e 's/,/ /g'` + CHARSETS="$CHARSETS $EXTRA_CHARSETS" fi -CHARSETS="$default_charset $CHARSETS" - -use_mb="no" for cs in $CHARSETS do case $cs in armscii8) AC_DEFINE(HAVE_CHARSET_armscii8) - use_mb="yes" + ;; + ascii) + AC_DEFINE(HAVE_CHARSET_ascii) ;; big5) AC_DEFINE(HAVE_CHARSET_big5) - use_mb="yes" + AC_DEFINE(USE_MB) + AC_DEFINE(USE_MB_IDENT) + ;; + cp1250) + AC_DEFINE(HAVE_CHARSET_cp1250) ;; cp1251) AC_DEFINE(HAVE_CHARSET_cp1251) ;; + cp1256) + AC_DEFINE(HAVE_CHARSET_cp1256) + ;; cp1257) AC_DEFINE(HAVE_CHARSET_cp1257) ;; - croat) - AC_DEFINE(HAVE_CHARSET_croat) + cp850) + AC_DEFINE(HAVE_CHARSET_cp850) ;; - czech) - AC_DEFINE(HAVE_CHARSET_czech) + cp852) + AC_DEFINE(HAVE_CHARSET_cp852) ;; - danish) - AC_DEFINE(HAVE_CHARSET_danish) + cp866) + AC_DEFINE(HAVE_CHARSET_cp866) ;; dec8) AC_DEFINE(HAVE_CHARSET_dec8) ;; - dos) - AC_DEFINE(HAVE_CHARSET_dos) - ;; - estonia) - AC_DEFINE(HAVE_CHARSET_estonia) - ;; - euc_kr) - AC_DEFINE(HAVE_CHARSET_euc_kr) - use_mb="yes" + euckr) + AC_DEFINE(HAVE_CHARSET_euckr) + AC_DEFINE(USE_MB) + AC_DEFINE(USE_MB_IDENT) ;; gb2312) AC_DEFINE(HAVE_CHARSET_gb2312) - use_mb="yes" + AC_DEFINE(USE_MB) + AC_DEFINE(USE_MB_IDENT) ;; gbk) AC_DEFINE(HAVE_CHARSET_gbk) - use_mb="yes" - ;; - german1) - AC_DEFINE(HAVE_CHARSET_german1) + AC_DEFINE(USE_MB) + AC_DEFINE(USE_MB_IDENT) ;; greek) AC_DEFINE(HAVE_CHARSET_greek) @@ -2333,30 +2344,37 @@ do hp8) AC_DEFINE(HAVE_CHARSET_hp8) ;; - hungarian) - AC_DEFINE(HAVE_CHARSET_hungarian) + keybcs2) + AC_DEFINE(HAVE_CHARSET_keybcs2) ;; - koi8_ru) - AC_DEFINE(HAVE_CHARSET_koi8_ru) + koi8r) + AC_DEFINE(HAVE_CHARSET_koi8r) ;; - koi8_ukr) - AC_DEFINE(HAVE_CHARSET_koi8_ukr) + koi8u) + AC_DEFINE(HAVE_CHARSET_koi8u) ;; latin1) AC_DEFINE(HAVE_CHARSET_latin1) ;; - latin1_de) - AC_DEFINE(HAVE_CHARSET_latin1_de) - ;; latin2) AC_DEFINE(HAVE_CHARSET_latin2) ;; latin5) AC_DEFINE(HAVE_CHARSET_latin5) ;; + latin7) + AC_DEFINE(HAVE_CHARSET_latin7) + ;; + macce) + AC_DEFINE(HAVE_CHARSET_macce) + ;; + macroman) + AC_DEFINE(HAVE_CHARSET_macroman) + ;; sjis) AC_DEFINE(HAVE_CHARSET_sjis) - use_mb="yes" + AC_DEFINE(USE_MB) + AC_DEFINE(USE_MB_IDENT) ;; swe7) AC_DEFINE(HAVE_CHARSET_swe7) @@ -2366,49 +2384,25 @@ do ;; ucs2) AC_DEFINE(HAVE_CHARSET_ucs2) - use_mb="yes" + AC_DEFINE(USE_MB) + AC_DEFINE(USE_MB_IDENT) ;; ujis) AC_DEFINE(HAVE_CHARSET_ujis) - use_mb="yes" - ;; - usa7) - AC_DEFINE(HAVE_CHARSET_usa7) + AC_DEFINE(USE_MB) + AC_DEFINE(USE_MB_IDENT) ;; utf8) AC_DEFINE(HAVE_CHARSET_utf8) - use_mb="yes" - ;; - win1250) - AC_DEFINE(HAVE_CHARSET_win1250) - ;; - win1250ch) - AC_DEFINE(HAVE_CHARSET_win1250ch) - ;; - win1251) - AC_DEFINE(HAVE_CHARSET_win1251) - ;; - win1251ukr) - AC_DEFINE(HAVE_CHARSET_win1251ukr) + AC_DEFINE(USE_MB) + AC_DEFINE(USE_MB_IDENT) ;; *) - AC_MSG_ERROR([Charset $cs not available. (Available $CHARSETS_AVAILABLE). + AC_MSG_ERROR([Charset $cs not available. (Available are: $CHARSETS_AVAILABLE). See the Installation chapter in the Reference Manual.]); esac done -dnl Always compile latin1 -AC_DEFINE(HAVE_CHARSET_latin1) - -dnl Always compile utf8 -AC_DEFINE(HAVE_CHARSET_utf8) -use_mb=yes - -if test "$use_mb" = "yes" -then - AC_DEFINE(USE_MB) - AC_DEFINE(USE_MB_IDENT) -fi AC_SUBST(default_charset) AC_DEFINE_UNQUOTED(DEFAULT_CHARSET_NAME,"$default_charset") diff --git a/mysql-test/r/ctype_ujis.result b/mysql-test/r/ctype_ujis.result index 223a18f19e9..ffb305a81cf 100644 --- a/mysql-test/r/ctype_ujis.result +++ b/mysql-test/r/ctype_ujis.result @@ -1,5 +1,5 @@ drop table if exists t1; -create table t1 (c text); +create table t1 (c text character set ujis); insert into t1 values (0xa4a2),(0xa4a3); select hex(left(c,1)) from t1 group by c; hex(left(c,1)) diff --git a/mysql-test/r/have_ucs2.require b/mysql-test/r/have_ucs2.require index 9d7079740ad..4f2ef7e83e4 100644 --- a/mysql-test/r/have_ucs2.require +++ b/mysql-test/r/have_ucs2.require @@ -1,2 +1,2 @@ Collation Charset Id D C Sortlen -ucs2_general_ci ucs2 35 Y 0 +ucs2_general_ci ucs2 35 Y Y 1 diff --git a/mysql-test/r/have_ujis.require b/mysql-test/r/have_ujis.require index 5f7ce2a50c7..b4b0a4d256c 100644 --- a/mysql-test/r/have_ujis.require +++ b/mysql-test/r/have_ujis.require @@ -1,2 +1,2 @@ Collation Charset Id D C Sortlen -ujis_japanese_ci ujis 12 Y 0 +ujis_japanese_ci ujis 12 Y Y 0 diff --git a/mysys/charset.c b/mysys/charset.c index 82bace7fb2c..ad0468a5087 100644 --- a/mysys/charset.c +++ b/mysys/charset.c @@ -407,11 +407,15 @@ static my_bool init_compiled_charsets(myf flags __attribute__((unused))) MY_ADD_CHARSET(&my_charset_big5_bin); #endif -#ifdef HAVE_CHARSET_czech +#ifdef HAVE_CHARSET_cp1250 + MY_ADD_CHARSET(&my_charset_cp1250_czech_ci); +#endif + +#ifdef HAVE_CHARSET_latin2 MY_ADD_CHARSET(&my_charset_latin2_czech_ci); #endif -#ifdef HAVE_CHARSET_euc_kr +#ifdef HAVE_CHARSET_euckr MY_ADD_CHARSET(&my_charset_euckr_korean_ci); MY_ADD_CHARSET(&my_charset_euckr_bin); #endif @@ -451,10 +455,6 @@ static my_bool init_compiled_charsets(myf flags __attribute__((unused))) MY_ADD_CHARSET(&my_charset_utf8_bin); #endif -#ifdef HAVE_CHARSET_win1250ch - MY_ADD_CHARSET(&my_charset_cp1250_czech_ci); -#endif - /* Copy compiled charsets */ for (cs=compiled_charsets; cs->name; cs++) { diff --git a/strings/ctype-czech.c b/strings/ctype-czech.c index fc3ff137778..2398bc33d45 100644 --- a/strings/ctype-czech.c +++ b/strings/ctype-czech.c @@ -77,7 +77,7 @@ #endif -#ifdef HAVE_CHARSET_czech +#ifdef HAVE_CHARSET_latin2 /* These are four tables for four passes of the algorithm. Please see diff --git a/strings/ctype-euc_kr.c b/strings/ctype-euc_kr.c index 4a5757bf5c4..8e288ee8e55 100644 --- a/strings/ctype-euc_kr.c +++ b/strings/ctype-euc_kr.c @@ -30,7 +30,7 @@ #include "m_string.h" #include "m_ctype.h" -#ifdef HAVE_CHARSET_euc_kr +#ifdef HAVE_CHARSET_euckr static uchar NEAR ctype_euc_kr[257] = diff --git a/strings/ctype-win1250ch.c b/strings/ctype-win1250ch.c index af4faca46e1..0b75a782b17 100644 --- a/strings/ctype-win1250ch.c +++ b/strings/ctype-win1250ch.c @@ -45,6 +45,9 @@ #include "m_string.h" #include "m_ctype.h" +#ifdef HAVE_CHARSET_cp1250 + + static uint16 tab_cp1250_uni[256]={ 0,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007, 0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F, @@ -674,3 +677,5 @@ CHARSET_INFO my_charset_cp1250_czech_ci = #endif + +#endif |