Commit 4000c96a authored by lars/lthalmann@dl145k.mysql.com's avatar lars/lthalmann@dl145k.mysql.com
Browse files

Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rpl

into  mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge
parents c40fe57f 7269c6cc
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -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,' ');
+10 −0
Original line number Diff line number Diff line
@@ -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
#
+0 −2
Original line number Diff line number Diff line
@@ -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;