Loading mysql-test/r/ctype_recoding.result +8 −0 Original line number Diff line number Diff line Loading @@ -187,6 +187,14 @@ select * from t1 where a=_latin1' ERROR HY000: Illegal mix of collations (cp1251_general_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation '=' drop table t1; set names latin1; set names ascii; create table t1 (a char(1) character set latin1); insert into t1 values ('a'); select * from t1 where a='a'; a a drop table t1; set names latin1; create table t1 (a char(10) character set utf8 collate utf8_bin); insert into t1 values (' xxx'); select * from t1 where a=lpad('xxx',10,' '); Loading mysql-test/t/ctype_recoding.test +10 −0 Original line number Diff line number Diff line Loading @@ -152,6 +152,16 @@ select * from t1 where a=_latin1' drop table t1; set names latin1; # # Test the same with ascii # set names ascii; create table t1 (a char(1) character set latin1); insert into t1 values ('a'); select * from t1 where a='a'; drop table t1; set names latin1; # # Bug#10446 Illegal mix of collations # Loading sql/sql_string.cc +0 −2 Original line number Diff line number Diff line Loading @@ -263,8 +263,6 @@ bool String::needs_conversion(uint32 arg_length, (to_cs == &my_charset_bin) || (to_cs == from_cs) || my_charset_same(from_cs, to_cs) || (my_charset_is_ascii_based(to_cs) && my_charset_is_8bit_pure_ascii(from_cs)) || ((from_cs == &my_charset_bin) && (!(*offset=(arg_length % to_cs->mbminlen))))) return FALSE; Loading Loading
mysql-test/r/ctype_recoding.result +8 −0 Original line number Diff line number Diff line Loading @@ -187,6 +187,14 @@ select * from t1 where a=_latin1' ERROR HY000: Illegal mix of collations (cp1251_general_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation '=' drop table t1; set names latin1; set names ascii; create table t1 (a char(1) character set latin1); insert into t1 values ('a'); select * from t1 where a='a'; a a drop table t1; set names latin1; create table t1 (a char(10) character set utf8 collate utf8_bin); insert into t1 values (' xxx'); select * from t1 where a=lpad('xxx',10,' '); Loading
mysql-test/t/ctype_recoding.test +10 −0 Original line number Diff line number Diff line Loading @@ -152,6 +152,16 @@ select * from t1 where a=_latin1' drop table t1; set names latin1; # # Test the same with ascii # set names ascii; create table t1 (a char(1) character set latin1); insert into t1 values ('a'); select * from t1 where a='a'; drop table t1; set names latin1; # # Bug#10446 Illegal mix of collations # Loading
sql/sql_string.cc +0 −2 Original line number Diff line number Diff line Loading @@ -263,8 +263,6 @@ bool String::needs_conversion(uint32 arg_length, (to_cs == &my_charset_bin) || (to_cs == from_cs) || my_charset_same(from_cs, to_cs) || (my_charset_is_ascii_based(to_cs) && my_charset_is_8bit_pure_ascii(from_cs)) || ((from_cs == &my_charset_bin) && (!(*offset=(arg_length % to_cs->mbminlen))))) return FALSE; Loading