diff options
Diffstat (limited to 'mysys/charset.c')
-rw-r--r-- | mysys/charset.c | 38 |
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; } } |