diff options
author | unknown <bar@bar.mysql.r18.ru> | 2002-10-09 15:40:57 +0500 |
---|---|---|
committer | unknown <bar@bar.mysql.r18.ru> | 2002-10-09 15:40:57 +0500 |
commit | edb8ae0f3876d88c2ea8479afdc546ec3a18ea3b (patch) | |
tree | 789cf07703286e15a43c1ad76c547ec3debe3a8b /mysys | |
parent | ac97cce4617a52d100cb2b5fa6c6c972c3510702 (diff) | |
download | mariadb-git-edb8ae0f3876d88c2ea8479afdc546ec3a18ea3b.tar.gz |
Simple charsets now have strncoll() field too
Diffstat (limited to 'mysys')
-rw-r--r-- | mysys/charset.c | 1 | ||||
-rw-r--r-- | mysys/mf_casecnv.c | 20 | ||||
-rw-r--r-- | mysys/my_handler.c | 2 |
3 files changed, 5 insertions, 18 deletions
diff --git a/mysys/charset.c b/mysys/charset.c index 691a4233269..48dfad51da9 100644 --- a/mysys/charset.c +++ b/mysys/charset.c @@ -377,6 +377,7 @@ static CHARSET_INFO *add_charset(uint cs_number, myf flags) cs->casedn_str = my_casedn_str_8bit; cs->caseup = my_caseup_8bit; cs->casedn = my_casedn_8bit; + cs->tosort = my_tosort_8bit; cs->strcasecmp = my_strcasecmp_8bit; cs->strncasecmp = my_strncasecmp_8bit; cs->mb_wc = my_mb_wc_8bit; diff --git a/mysys/mf_casecnv.c b/mysys/mf_casecnv.c index 631db18b1ed..26d2e79ee9d 100644 --- a/mysys/mf_casecnv.c +++ b/mysys/mf_casecnv.c @@ -15,11 +15,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* - Functions to convert to lover_case and to upper_case in scandinavia. - - case_sort converts a character string to a representaion that can - be compared by strcmp to find with is alfabetical bigger. - (lower- and uppercase letters is compared as the same) + Functions to convert to lover_case and to upper_case. */ #include "mysys_priv.h" @@ -29,21 +25,11 @@ #endif - /* to sort-string that can be compared to get text in order */ - -void case_sort(CHARSET_INFO *cs, my_string str, uint length) -{ - register uchar *map=cs->sort_order; - - for ( ; length>0 ; length--, str++) - *str= (char) map[(uchar) *str]; -} /* case_sort */ - int my_sortcmp(CHARSET_INFO *cs, const char *s, const char *t, uint len) { #ifdef USE_STRCOLL - if (use_strcoll(cs)) + if (use_strnxfrm(cs)) return my_strnncoll(cs,(uchar *)s, len, (uchar *)t, len); else #endif @@ -63,7 +49,7 @@ int my_sortncmp(CHARSET_INFO *cs, const char *t, uint t_len) { #ifdef USE_STRCOLL - if (use_strcoll(cs)) + if (use_strnxfrm(cs)) return my_strnncoll(cs, (uchar *)s, s_len, (uchar *)t, t_len); else #endif diff --git a/mysys/my_handler.c b/mysys/my_handler.c index fe610b73fe9..af1bf7037f9 100644 --- a/mysys/my_handler.c +++ b/mysys/my_handler.c @@ -23,7 +23,7 @@ int mi_compare_text(CHARSET_INFO *charset_info, uchar *a, uint a_length, int flag; #ifdef USE_STRCOLL - if (use_strcoll(charset_info)) + if (use_strnxfrm(charset_info)) { if (part_key && b_length < a_length) a_length=b_length; |