Commit 45c80435 authored by sergefp@pslp.mylan's avatar sergefp@pslp.mylan
Browse files

Merge mysql.com:/home/psergey/mysql-5.0-bugteam

into  mysql.com:/home/psergey/mysql-5.1-bugteam
  BUG#36139: manual merge
parents 013fd236 dc01e1d6
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -4339,6 +4339,13 @@ a4 f3 a6
1	NULL	NULL
2	NULL	NULL
DROP TABLE t1, t2, t3, t4;
create table t1 (a float(5,4) zerofill);
create table t2 (a float(5,4),b float(2,0));
select t1.a from t1 where   
t1.a= (select b from t2 limit 1) and not
t1.a= (select a from t2 limit 1) ;
a
drop table t1;
End of 5.0 tests.
CREATE TABLE t1 (a int, b int);
INSERT INTO t1 VALUES (2,22),(1,11),(2,22);
+12 −0
Original line number Diff line number Diff line
@@ -3213,6 +3213,18 @@ GROUP BY a4;

DROP TABLE t1, t2, t3, t4;

#
# BUG#36139 "float, zerofill, crash with subquery"
#
create table t1 (a float(5,4) zerofill);
create table t2 (a float(5,4),b float(2,0));

select t1.a from t1 where   
  t1.a= (select b from t2 limit 1) and not
  t1.a= (select a from t2 limit 1) ;

drop table t1;

--echo End of 5.0 tests.

#
+8 −3
Original line number Diff line number Diff line
@@ -4245,10 +4245,15 @@ static void convert_zerofill_number_to_string(Item **item, Field_num *field)
  String tmp(buff,sizeof(buff), field->charset()), *res;

  res= (*item)->val_str(&tmp);
  if ((*item)->is_null())
    *item= new Item_null();
  else
  {
    field->prepend_zeros(res);
    pos= (char *) sql_strmake (res->ptr(), res->length());
    *item= new Item_string(pos, res->length(), field->charset());
  }
}


/**