Commit b3dc9f65 authored by ram@gw.mysql.r18.ru's avatar ram@gw.mysql.r18.ru

A fix (bug #5540: CONCAT function and 'double' type).

parent 1dd895d4
...@@ -26,3 +26,9 @@ FROM t1 GROUP BY new LIMIT 1; ...@@ -26,3 +26,9 @@ FROM t1 GROUP BY new LIMIT 1;
number alpha new number alpha new
1413006 idlfmv 1413006<------------------>idlfmv 1413006 idlfmv 1413006<------------------>idlfmv
drop table t1; drop table t1;
create table t1 (a char(4), b double, c date, d tinyint(4));
insert into t1 values ('AAAA', 105, '2003-03-01', 1);
select * from t1 where concat(A,C,B,D) = 'AAAA2003-03-011051';
a b c d
AAAA 105 2003-03-01 1
drop table t1;
...@@ -25,3 +25,12 @@ FROM t1 GROUP BY new LIMIT 1; ...@@ -25,3 +25,12 @@ FROM t1 GROUP BY new LIMIT 1;
SELECT number, alpha, CONCAT_WS('<------------------>',number,alpha) AS new SELECT number, alpha, CONCAT_WS('<------------------>',number,alpha) AS new
FROM t1 GROUP BY new LIMIT 1; FROM t1 GROUP BY new LIMIT 1;
drop table t1; drop table t1;
#
# Bug #5540: a problem with double type
#
create table t1 (a char(4), b double, c date, d tinyint(4));
insert into t1 values ('AAAA', 105, '2003-03-01', 1);
select * from t1 where concat(A,C,B,D) = 'AAAA2003-03-011051';
drop table t1;
...@@ -289,7 +289,8 @@ String *Item_func_concat::val_str(String *str) ...@@ -289,7 +289,8 @@ String *Item_func_concat::val_str(String *str)
str->copy(*res); str->copy(*res);
str->append(*res2); str->append(*res2);
} }
res=str; res= str;
use_as_buff= &tmp_value;
} }
else if (res == &tmp_value) else if (res == &tmp_value)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment