Commit 78154083 authored by unknown's avatar unknown
Browse files

Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0

into moonbone.local:/work/11398-bug-5.0-mysql


mysql-test/r/select.result:
  Auto merged
mysql-test/t/select.test:
  Auto merged
parents 00455bd9 06ebdbb7
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -2756,3 +2756,12 @@ DROP TABLE t1,t2;
select x'10' + 0, X'10' + 0, b'10' + 0, B'10' + 0;
x'10' + 0	X'10' + 0	b'10' + 0	B'10' + 0
16	16	2	2
create table t1 (f1 varchar(6) default NULL, f2 int(6) primary key not null);
create table t2 (f3 varchar(5) not null, f4 varchar(5) not null, UNIQUE KEY UKEY (f3,f4));
insert into t1 values (" 2", 2);
insert into t2 values (" 2", " one "),(" 2", " two ");
select * from t1 left join t2 on f1 = f3;
f1	f2	f3	f4
 2	2	 2	 one 
 2	2	 2	 two 
drop table t1,t2;
+10 −0
Original line number Diff line number Diff line
@@ -2348,3 +2348,13 @@ DROP TABLE t1,t2;
#

select x'10' + 0, X'10' + 0, b'10' + 0, B'10' + 0;

#
# Bug #11398 Bug in field_conv() results in wrong result of join with index
#
create table t1 (f1 varchar(6) default NULL, f2 int(6) primary key not null);
create table t2 (f3 varchar(5) not null, f4 varchar(5) not null, UNIQUE KEY UKEY (f3,f4));
insert into t1 values (" 2", 2);
insert into t2 values (" 2", " one "),(" 2", " two ");
select * from t1 left join t2 on f1 = f3;
drop table t1,t2;
+4 −1
Original line number Diff line number Diff line
@@ -640,7 +640,10 @@ void field_conv(Field *to,Field *from)
        (!(to->table->in_use->variables.sql_mode &
           (MODE_NO_ZERO_IN_DATE | MODE_NO_ZERO_DATE | MODE_INVALID_DATES)) ||
         to->type() != FIELD_TYPE_DATE &&
         to->type() != FIELD_TYPE_DATETIME))
         to->type() != FIELD_TYPE_DATETIME) &&
        (from->real_type() != MYSQL_TYPE_VARCHAR ||
         ((Field_varstring*)from)->length_bytes ==
          ((Field_varstring*)to)->length_bytes))
    {						// Identical fields
#ifdef HAVE_purify
      /* This may happen if one does 'UPDATE ... SET x=x' */