@@ -4444,7 +4444,7 @@ bool Item_func_dyncol_create::prepare_arguments(bool force_names_arg)
44444444 if (res)
44454445 {
44464446 // guaranty UTF-8 string for names
4447- if (my_charset_same (res->charset (), &my_charset_utf8_general_ci ))
4447+ if (my_charset_same (res->charset (), DYNCOL_UTF ))
44484448 {
44494449 keys_str[i].length = res->length ();
44504450 keys_str[i].str = sql_strmake (res->ptr (), res->length ());
@@ -4455,11 +4455,11 @@ bool Item_func_dyncol_create::prepare_arguments(bool force_names_arg)
44554455 uint dummy_errors;
44564456 char *str=
44574457 (char *)sql_alloc ((strlen= res->length () *
4458- my_charset_utf8_general_ci. mbmaxlen + 1 ));
4458+ DYNCOL_UTF-> mbmaxlen + 1 ));
44594459 if (str)
44604460 {
44614461 keys_str[i].length =
4462- copy_and_convert (str, strlen, &my_charset_utf8_general_ci ,
4462+ copy_and_convert (str, strlen, DYNCOL_UTF ,
44634463 res->ptr (), res->length (), res->charset (),
44644464 &dummy_errors);
44654465 keys_str[i].str = str;
@@ -4680,9 +4680,10 @@ String *Item_func_dyncol_json::val_str(String *str)
46804680 size_t length, alloc_length;
46814681 dynstr_reassociate (&json, &ptr, &length, &alloc_length);
46824682 str->reassociate (ptr, (uint32) length, (uint32) alloc_length,
4683- &my_charset_utf8_general_ci );
4683+ DYNCOL_UTF );
46844684 null_value= FALSE ;
46854685 }
4686+ str->set_charset (DYNCOL_UTF);
46864687 return str;
46874688
46884689null:
@@ -4781,7 +4782,7 @@ bool Item_dyncol_get::get_dyn_value(DYNAMIC_COLUMN_VALUE *val, String *tmp)
47814782 return 1 ;
47824783 }
47834784
4784- if (my_charset_same (nm->charset (), &my_charset_utf8_general_ci ))
4785+ if (my_charset_same (nm->charset (), DYNCOL_UTF ))
47854786 {
47864787 buf.str = (char *) nm->ptr ();
47874788 buf.length = nm->length ();
@@ -4791,11 +4792,11 @@ bool Item_dyncol_get::get_dyn_value(DYNAMIC_COLUMN_VALUE *val, String *tmp)
47914792 uint strlen;
47924793 uint dummy_errors;
47934794 buf.str = (char *)sql_alloc ((strlen= nm->length () *
4794- my_charset_utf8_general_ci. mbmaxlen + 1 ));
4795+ DYNCOL_UTF-> mbmaxlen + 1 ));
47954796 if (buf.str )
47964797 {
47974798 buf.length =
4798- copy_and_convert (buf.str , strlen, &my_charset_utf8_general_ci ,
4799+ copy_and_convert (buf.str , strlen, DYNCOL_UTF ,
47994800 nm->ptr (), nm->length (), nm->charset (),
48004801 &dummy_errors);
48014802 }
@@ -5229,7 +5230,6 @@ String *Item_func_dyncol_list::val_str(String *str)
52295230 goto null;
52305231
52315232 str->length (0 );
5232- str->set_charset (&my_charset_utf8_general_ci);
52335233 for (i= 0 ; i < count; i++)
52345234 {
52355235 append_identifier (current_thd, str, names[i].str , names[i].length );
@@ -5239,6 +5239,7 @@ String *Item_func_dyncol_list::val_str(String *str)
52395239 null_value= FALSE ;
52405240 if (names)
52415241 my_free (names);
5242+ str->set_charset (DYNCOL_UTF);
52425243 return str;
52435244
52445245null:
0 commit comments