summaryrefslogtreecommitdiff
path: root/mysys/charset.c
diff options
context:
space:
mode:
Diffstat (limited to 'mysys/charset.c')
-rw-r--r--mysys/charset.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/mysys/charset.c b/mysys/charset.c
index b4991555263..9f9d18e31a4 100644
--- a/mysys/charset.c
+++ b/mysys/charset.c
@@ -245,6 +245,8 @@ static int add_collation(CHARSET_INFO *cs)
if (cs_copy_data(all_charsets[cs->number],cs))
return MY_XML_ERROR;
+ newcs->caseup_multiply= newcs->casedn_multiply= 1;
+
if (!strcmp(cs->csname,"ucs2") )
{
#if defined(HAVE_CHARSET_ucs2) && defined(HAVE_UCA_COLLATIONS)
@@ -428,6 +430,7 @@ static void *cs_alloc(size_t size)
static my_pthread_once_t charsets_initialized= MY_PTHREAD_ONCE_INIT;
+static my_pthread_once_t charsets_template= MY_PTHREAD_ONCE_INIT;
static void init_available_charsets(void)
{
@@ -455,6 +458,12 @@ static void init_available_charsets(void)
}
+void free_charsets(void)
+{
+ charsets_initialized= charsets_template;
+}
+
+
static const char*
get_collation_name_alias(const char *name, char *buf, size_t bufsize)
{