summaryrefslogtreecommitdiff
path: root/mysys/charset.c
diff options
context:
space:
mode:
Diffstat (limited to 'mysys/charset.c')
-rw-r--r--mysys/charset.c38
1 files changed, 4 insertions, 34 deletions
diff --git a/mysys/charset.c b/mysys/charset.c
index af4d3620df2..f5d07403948 100644
--- a/mysys/charset.c
+++ b/mysys/charset.c
@@ -120,45 +120,15 @@ static void simple_cs_init_functions(CHARSET_INFO *cs)
if (cs->state & MY_CS_BINSORT)
{
- CHARSET_INFO *b= &my_charset_bin;
- cs->strnxfrm = b->strnxfrm;
- cs->like_range = b->like_range;
- cs->wildcmp = b->wildcmp;
- cs->strnncoll = b->strnncoll;
- cs->strnncollsp = b->strnncollsp;
- cs->strcasecmp = b->strcasecmp;
- cs->hash_sort = b->hash_sort;
+ cs->coll= &my_collation_bin_handler;
}
else
{
- cs->strnxfrm = my_strnxfrm_simple;
- cs->like_range = my_like_range_simple;
- cs->wildcmp = my_wildcmp_8bit;
- cs->strnncoll = my_strnncoll_simple;
- cs->strnncollsp = my_strnncollsp_simple;
- cs->strcasecmp = my_strcasecmp_8bit;
- cs->hash_sort = my_hash_sort_simple;
+ cs->coll= &my_collation_8bit_simple_ci_handler;
}
- cs->caseup_str = my_caseup_str_8bit;
- cs->casedn_str = my_casedn_str_8bit;
- cs->caseup = my_caseup_8bit;
- cs->casedn = my_casedn_8bit;
- cs->mb_wc = my_mb_wc_8bit;
- cs->wc_mb = my_wc_mb_8bit;
- cs->snprintf = my_snprintf_8bit;
- cs->long10_to_str= my_long10_to_str_8bit;
- cs->longlong10_to_str= my_longlong10_to_str_8bit;
- cs->fill = my_fill_8bit;
- cs->strntol = my_strntol_8bit;
- cs->strntoul = my_strntoul_8bit;
- cs->strntoll = my_strntoll_8bit;
- cs->strntoull = my_strntoull_8bit;
- cs->strntod = my_strntod_8bit;
- cs->scan = my_scan_8bit;
+ cs->cset= &my_charset_8bit_handler;
cs->mbmaxlen = 1;
- cs->numchars = my_numchars_8bit;
- cs->charpos = my_charpos_8bit;
}
@@ -329,10 +299,10 @@ static int add_collation(CHARSET_INFO *cs)
if (!(all_charsets[cs->number]->state & MY_CS_COMPILED))
{
+ simple_cs_init_functions(all_charsets[cs->number]);
simple_cs_copy_data(all_charsets[cs->number],cs);
if (simple_cs_is_full(all_charsets[cs->number]))
{
- simple_cs_init_functions(all_charsets[cs->number]);
all_charsets[cs->number]->state |= MY_CS_LOADED;
}
}