summaryrefslogtreecommitdiff
path: root/mysys
diff options
context:
space:
mode:
authorunknown <bar@bar.mysql.r18.ru>2002-10-09 15:40:57 +0500
committerunknown <bar@bar.mysql.r18.ru>2002-10-09 15:40:57 +0500
commitedb8ae0f3876d88c2ea8479afdc546ec3a18ea3b (patch)
tree789cf07703286e15a43c1ad76c547ec3debe3a8b /mysys
parentac97cce4617a52d100cb2b5fa6c6c972c3510702 (diff)
downloadmariadb-git-edb8ae0f3876d88c2ea8479afdc546ec3a18ea3b.tar.gz
Simple charsets now have strncoll() field too
Diffstat (limited to 'mysys')
-rw-r--r--mysys/charset.c1
-rw-r--r--mysys/mf_casecnv.c20
-rw-r--r--mysys/my_handler.c2
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;