hi,
kristian
> Right, I see. Probably the
cached_charset just needs to be moved into the
> rpl_group_info
struct.
> I have filed a bug for this that I
will fix:
I'm afraid there is still some cases would lead mistake if move
cached_charset into rpl_group_info struct.
For a worker thread can keep a lot rpl_group_info structs in its
rgi_free_list, and those rgis can be reused many times.
in this case:
a worker thread executes there transactions, which is trans1,trans2
and trans3
trans1's charset is utf8 and it use rgi1
trans2's charset is latin1 and it use rgi2
trans3's charset is utf8 and it use rgi1
so when worker thread start to execute trans3, rgi1->cached_charset ==
utf8. but thd->variables.character_set_* are latin1. and
them wouldn't be changed to utf8 for rgi->cached_charset_compare
return 0.
Thanks