Commit 720584b0 authored by unknown's avatar unknown

--with-charset was not up to date

ctype_ucs2 and ctype_ujis were skipped in mistake

parent 12604089
...@@ -68,40 +68,37 @@ ...@@ -68,40 +68,37 @@
/* Define charsets you want */ /* Define charsets you want */
#undef HAVE_CHARSET_armscii8 #undef HAVE_CHARSET_armscii8
#undef HAVE_CHARSET_ascii
#undef HAVE_CHARSET_big5 #undef HAVE_CHARSET_big5
#undef HAVE_CHARSET_cp1250
#undef HAVE_CHARSET_cp1251 #undef HAVE_CHARSET_cp1251
#undef HAVE_CHARSET_cp1256
#undef HAVE_CHARSET_cp1257 #undef HAVE_CHARSET_cp1257
#undef HAVE_CHARSET_croat #undef HAVE_CHARSET_cp850
#undef HAVE_CHARSET_czech #undef HAVE_CHARSET_cp852
#undef HAVE_CHARSET_danish #undef HAVE_CHARSET_cp866
#undef HAVE_CHARSET_dec8 #undef HAVE_CHARSET_dec8
#undef HAVE_CHARSET_dos #undef HAVE_CHARSET_euckr
#undef HAVE_CHARSET_estonia
#undef HAVE_CHARSET_euc_kr
#undef HAVE_CHARSET_gb2312 #undef HAVE_CHARSET_gb2312
#undef HAVE_CHARSET_gbk #undef HAVE_CHARSET_gbk
#undef HAVE_CHARSET_german1
#undef HAVE_CHARSET_greek #undef HAVE_CHARSET_greek
#undef HAVE_CHARSET_hebrew #undef HAVE_CHARSET_hebrew
#undef HAVE_CHARSET_hp8 #undef HAVE_CHARSET_hp8
#undef HAVE_CHARSET_hungarian #undef HAVE_CHARSET_keybcs2
#undef HAVE_CHARSET_koi8_ru #undef HAVE_CHARSET_koi8r
#undef HAVE_CHARSET_koi8_ukr #undef HAVE_CHARSET_koi8u
#undef HAVE_CHARSET_latin1 #undef HAVE_CHARSET_latin1
#undef HAVE_CHARSET_latin1_de
#undef HAVE_CHARSET_latin2 #undef HAVE_CHARSET_latin2
#undef HAVE_CHARSET_latin5 #undef HAVE_CHARSET_latin5
#undef HAVE_CHARSET_latin7
#undef HAVE_CHARSET_macce
#undef HAVE_CHARSET_macroman
#undef HAVE_CHARSET_sjis #undef HAVE_CHARSET_sjis
#undef HAVE_CHARSET_swe7 #undef HAVE_CHARSET_swe7
#undef HAVE_CHARSET_tis620 #undef HAVE_CHARSET_tis620
#undef HAVE_CHARSET_ucs2 #undef HAVE_CHARSET_ucs2
#undef HAVE_CHARSET_ujis #undef HAVE_CHARSET_ujis
#undef HAVE_CHARSET_usa7
#undef HAVE_CHARSET_utf8 #undef HAVE_CHARSET_utf8
#undef HAVE_CHARSET_win1250
#undef HAVE_CHARSET_win1250ch
#undef HAVE_CHARSET_win1251ukr
#undef HAVE_CHARSET_win1251
/* ZLIB and compress: */ /* ZLIB and compress: */
#undef HAVE_COMPRESS #undef HAVE_COMPRESS
......
...@@ -2226,29 +2226,36 @@ AC_SUBST(readline_h_ln_cmd) ...@@ -2226,29 +2226,36 @@ AC_SUBST(readline_h_ln_cmd)
dnl In order to add new charset, you must add charset name to 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 If the character set uses strcoll or other special handling,
dnl you must also create strings/ctype-$charset_name.c dnl you must also create strings/ctype-$charset_name.c
AC_DIVERT_PUSH(0) AC_DIVERT_PUSH(0)
CHARSETS_AVAILABLE="armscii8 big5 cp1251 cp1257
croat czech danish dec8 dos estonia euc_kr gb2312 gbk define(CHARSETS_AVAILABLE1,ascii armscii8 ascii big5 cp1250 cp1251 cp1256 cp1257)
german1 greek hebrew hp8 hungarian koi8_ru koi8_ukr define(CHARSETS_AVAILABLE2,cp850 cp852 cp866 dec8 euckr gb2312 gbk)
latin1 latin1_de latin2 latin5 sjis swe7 tis620 ucs2 ujis define(CHARSETS_AVAILABLE3,greek hebrew hp8 keybcs2 koi8r koi8u)
usa7 utf8 win1250 win1250ch win1251ukr" define(CHARSETS_AVAILABLE4,latin1 latin2 latin5 latin7 macce macroman)
CHARSETS_DEPRECATED="win1251" define(CHARSETS_AVAILABLE5,sjis swe7 tis620 ucs2 ujis utf8)
CHARSETS_COMPLEX="big5 czech euc_kr gb2312 gbk latin1_de sjis tis620 ucs2 ujis utf8 win1250ch"
DEFAULT_CHARSET=latin1 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.. AC_DIVERT_POP
dnl [ --with-charset=CHARSET Use CHARSET by default (one of: $CHARSETS_AVAILABLE; Default is $DEFAULT_CHARSET)],
AC_ARG_WITH(charset, AC_ARG_WITH(charset,
[ --with-charset=CHARSET Use CHARSET by default (Default is latin1)], [ --with-charset=CHARSET
Default character set, use one of:
CHARSETS_AVAILABLE1
CHARSETS_AVAILABLE2
CHARSETS_AVAILABLE3
CHARSETS_AVAILABLE4
CHARSETS_AVAILABLE5],
[default_charset="$withval"], [default_charset="$withval"],
[default_charset="$DEFAULT_CHARSET"]) [default_charset="$DEFAULT_CHARSET"])
AC_ARG_WITH(extra-charsets, AC_ARG_WITH(extra-charsets,
[ --with-extra-charsets=CHARSET[,CHARSET,...] [ --with-extra-charsets=CHARSET[,CHARSET,...]
Use charsets in addition to default (none, complex, Use charsets in addition to default (none, complex,
...@@ -2256,73 +2263,77 @@ AC_ARG_WITH(extra-charsets, ...@@ -2256,73 +2263,77 @@ AC_ARG_WITH(extra-charsets,
[extra_charsets="$withval"], [extra_charsets="$withval"],
[extra_charsets="none"]) [extra_charsets="none"])
AC_MSG_CHECKING("character sets") AC_MSG_CHECKING("character sets")
CHARSETS="$default_charset latin1 utf8"
if test "$extra_charsets" = no; then if test "$extra_charsets" = no; then
CHARSETS="" CHARSETS="$CHARSETS"
elif test "$extra_charsets" = none; then elif test "$extra_charsets" = none; then
CHARSETS="" CHARSETS="$CHARSETS"
elif test "$extra_charsets" = complex; then elif test "$extra_charsets" = complex; then
CHARSETS="$CHARSETS_COMPLEX" CHARSETS="$CHARSETS $CHARSETS_COMPLEX"
elif test "$extra_charsets" = all; then elif test "$extra_charsets" = all; then
CHARSETS="$CHARSETS_AVAILABLE $CHARSETS_DEPRECATED" CHARSETS="$CHARSETS $CHARSETS_AVAILABLE"
else else
CHARSETS=`echo $extra_charsets | sed -e 's/,/ /g'` EXTRA_CHARSETS=`echo $extra_charsets | sed -e 's/,/ /g'`
CHARSETS="$CHARSETS $EXTRA_CHARSETS"
fi fi
CHARSETS="$default_charset $CHARSETS"
use_mb="no"
for cs in $CHARSETS for cs in $CHARSETS
do do
case $cs in case $cs in
armscii8) armscii8)
AC_DEFINE(HAVE_CHARSET_armscii8) AC_DEFINE(HAVE_CHARSET_armscii8)
use_mb="yes" ;;
ascii)
AC_DEFINE(HAVE_CHARSET_ascii)
;; ;;
big5) big5)
AC_DEFINE(HAVE_CHARSET_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) cp1251)
AC_DEFINE(HAVE_CHARSET_cp1251) AC_DEFINE(HAVE_CHARSET_cp1251)
;; ;;
cp1256)
AC_DEFINE(HAVE_CHARSET_cp1256)
;;
cp1257) cp1257)
AC_DEFINE(HAVE_CHARSET_cp1257) AC_DEFINE(HAVE_CHARSET_cp1257)
;; ;;
croat) cp850)
AC_DEFINE(HAVE_CHARSET_croat) AC_DEFINE(HAVE_CHARSET_cp850)
;; ;;
czech) cp852)
AC_DEFINE(HAVE_CHARSET_czech) AC_DEFINE(HAVE_CHARSET_cp852)
;; ;;
danish) cp866)
AC_DEFINE(HAVE_CHARSET_danish) AC_DEFINE(HAVE_CHARSET_cp866)
;; ;;
dec8) dec8)
AC_DEFINE(HAVE_CHARSET_dec8) AC_DEFINE(HAVE_CHARSET_dec8)
;; ;;
dos) euckr)
AC_DEFINE(HAVE_CHARSET_dos) AC_DEFINE(HAVE_CHARSET_euckr)
;; AC_DEFINE(USE_MB)
estonia) AC_DEFINE(USE_MB_IDENT)
AC_DEFINE(HAVE_CHARSET_estonia)
;;
euc_kr)
AC_DEFINE(HAVE_CHARSET_euc_kr)
use_mb="yes"
;; ;;
gb2312) gb2312)
AC_DEFINE(HAVE_CHARSET_gb2312) AC_DEFINE(HAVE_CHARSET_gb2312)
use_mb="yes" AC_DEFINE(USE_MB)
AC_DEFINE(USE_MB_IDENT)
;; ;;
gbk) gbk)
AC_DEFINE(HAVE_CHARSET_gbk) AC_DEFINE(HAVE_CHARSET_gbk)
use_mb="yes" AC_DEFINE(USE_MB)
;; AC_DEFINE(USE_MB_IDENT)
german1)
AC_DEFINE(HAVE_CHARSET_german1)
;; ;;
greek) greek)
AC_DEFINE(HAVE_CHARSET_greek) AC_DEFINE(HAVE_CHARSET_greek)
...@@ -2333,30 +2344,37 @@ do ...@@ -2333,30 +2344,37 @@ do
hp8) hp8)
AC_DEFINE(HAVE_CHARSET_hp8) AC_DEFINE(HAVE_CHARSET_hp8)
;; ;;
hungarian) keybcs2)
AC_DEFINE(HAVE_CHARSET_hungarian) AC_DEFINE(HAVE_CHARSET_keybcs2)
;; ;;
koi8_ru) koi8r)
AC_DEFINE(HAVE_CHARSET_koi8_ru) AC_DEFINE(HAVE_CHARSET_koi8r)
;; ;;
koi8_ukr) koi8u)
AC_DEFINE(HAVE_CHARSET_koi8_ukr) AC_DEFINE(HAVE_CHARSET_koi8u)
;; ;;
latin1) latin1)
AC_DEFINE(HAVE_CHARSET_latin1) AC_DEFINE(HAVE_CHARSET_latin1)
;; ;;
latin1_de)
AC_DEFINE(HAVE_CHARSET_latin1_de)
;;
latin2) latin2)
AC_DEFINE(HAVE_CHARSET_latin2) AC_DEFINE(HAVE_CHARSET_latin2)
;; ;;
latin5) latin5)
AC_DEFINE(HAVE_CHARSET_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) sjis)
AC_DEFINE(HAVE_CHARSET_sjis) AC_DEFINE(HAVE_CHARSET_sjis)
use_mb="yes" AC_DEFINE(USE_MB)
AC_DEFINE(USE_MB_IDENT)
;; ;;
swe7) swe7)
AC_DEFINE(HAVE_CHARSET_swe7) AC_DEFINE(HAVE_CHARSET_swe7)
...@@ -2366,49 +2384,25 @@ do ...@@ -2366,49 +2384,25 @@ do
;; ;;
ucs2) ucs2)
AC_DEFINE(HAVE_CHARSET_ucs2) AC_DEFINE(HAVE_CHARSET_ucs2)
use_mb="yes" AC_DEFINE(USE_MB)
AC_DEFINE(USE_MB_IDENT)
;; ;;
ujis) ujis)
AC_DEFINE(HAVE_CHARSET_ujis) AC_DEFINE(HAVE_CHARSET_ujis)
use_mb="yes" AC_DEFINE(USE_MB)
;; AC_DEFINE(USE_MB_IDENT)
usa7)
AC_DEFINE(HAVE_CHARSET_usa7)
;; ;;
utf8) utf8)
AC_DEFINE(HAVE_CHARSET_utf8) AC_DEFINE(HAVE_CHARSET_utf8)
use_mb="yes" AC_DEFINE(USE_MB)
;; AC_DEFINE(USE_MB_IDENT)
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_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.]); See the Installation chapter in the Reference Manual.]);
esac esac
done 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_SUBST(default_charset)
AC_DEFINE_UNQUOTED(DEFAULT_CHARSET_NAME,"$default_charset") AC_DEFINE_UNQUOTED(DEFAULT_CHARSET_NAME,"$default_charset")
......
drop table if exists t1; drop table if exists t1;
create table t1 (c text); create table t1 (c text character set ujis);
insert into t1 values (0xa4a2),(0xa4a3); insert into t1 values (0xa4a2),(0xa4a3);
select hex(left(c,1)) from t1 group by c; select hex(left(c,1)) from t1 group by c;
hex(left(c,1)) hex(left(c,1))
......
Collation Charset Id D C Sortlen Collation Charset Id D C Sortlen
ucs2_general_ci ucs2 35 Y 0 ucs2_general_ci ucs2 35 Y Y 1
Collation Charset Id D C Sortlen Collation Charset Id D C Sortlen
ujis_japanese_ci ujis 12 Y 0 ujis_japanese_ci ujis 12 Y Y 0
...@@ -407,11 +407,15 @@ static my_bool init_compiled_charsets(myf flags __attribute__((unused))) ...@@ -407,11 +407,15 @@ static my_bool init_compiled_charsets(myf flags __attribute__((unused)))
MY_ADD_CHARSET(&my_charset_big5_bin); MY_ADD_CHARSET(&my_charset_big5_bin);
#endif #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); MY_ADD_CHARSET(&my_charset_latin2_czech_ci);
#endif #endif
#ifdef HAVE_CHARSET_euc_kr #ifdef HAVE_CHARSET_euckr
MY_ADD_CHARSET(&my_charset_euckr_korean_ci); MY_ADD_CHARSET(&my_charset_euckr_korean_ci);
MY_ADD_CHARSET(&my_charset_euckr_bin); MY_ADD_CHARSET(&my_charset_euckr_bin);
#endif #endif
...@@ -451,10 +455,6 @@ static my_bool init_compiled_charsets(myf flags __attribute__((unused))) ...@@ -451,10 +455,6 @@ static my_bool init_compiled_charsets(myf flags __attribute__((unused)))
MY_ADD_CHARSET(&my_charset_utf8_bin); MY_ADD_CHARSET(&my_charset_utf8_bin);
#endif #endif
#ifdef HAVE_CHARSET_win1250ch
MY_ADD_CHARSET(&my_charset_cp1250_czech_ci);
#endif
/* Copy compiled charsets */ /* Copy compiled charsets */
for (cs=compiled_charsets; cs->name; cs++) for (cs=compiled_charsets; cs->name; cs++)
{ {
......
...@@ -77,7 +77,7 @@ ...@@ -77,7 +77,7 @@
#endif #endif
#ifdef HAVE_CHARSET_czech #ifdef HAVE_CHARSET_latin2
/* /*
These are four tables for four passes of the algorithm. Please see These are four tables for four passes of the algorithm. Please see
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
#include "m_string.h" #include "m_string.h"
#include "m_ctype.h" #include "m_ctype.h"
#ifdef HAVE_CHARSET_euc_kr #ifdef HAVE_CHARSET_euckr
static uchar NEAR ctype_euc_kr[257] = static uchar NEAR ctype_euc_kr[257] =
......
...@@ -45,6 +45,9 @@ ...@@ -45,6 +45,9 @@
#include "m_string.h" #include "m_string.h"
#include "m_ctype.h" #include "m_ctype.h"
#ifdef HAVE_CHARSET_cp1250
static uint16 tab_cp1250_uni[256]={ static uint16 tab_cp1250_uni[256]={
0,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007, 0,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,
0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F, 0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F,
...@@ -673,4 +676,6 @@ CHARSET_INFO my_charset_cp1250_czech_ci = ...@@ -673,4 +676,6 @@ CHARSET_INFO my_charset_cp1250_czech_ci =
}; };
#endif
#endif #endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment