diff options
author | unknown <sergefp@mysql.com> | 2004-12-17 12:14:45 +0300 |
---|---|---|
committer | unknown <sergefp@mysql.com> | 2004-12-17 12:14:45 +0300 |
commit | f7193b925455ede2b97ccde36c96732446d1db7e (patch) | |
tree | f7ea785d5b5af300f8d4c9b2b40248bf85ae34cf /mysql-test/t/func_concat.test | |
parent | ae6f147a4f65b0392e61c6d447523fa9b6db186f (diff) | |
download | mariadb-git-f7193b925455ede2b97ccde36c96732446d1db7e.tar.gz |
Fix for BUG#6825: When calculating Item_func_neg::max_length, add 1 for '-'.
For numeric constants we only need to add, since the parser doesn't produce
negative numbers.
For strings we only add (we actually could substract 1 if given string is a constant
and it has '-number' form but we're not doing that because
* we set max_length bigger then necessary in other cases as well.
* the current solution is simpler and safer (bigger max_length is better then cutting out)
mysql-test/r/func_concat.result:
Test for BUG#6825
mysql-test/r/metadata.result:
Ajusted results according to fix of bug BUG#6825:length(-1) = 2 , not 1
mysql-test/t/func_concat.test:
Test for BUG#6825
Diffstat (limited to 'mysql-test/t/func_concat.test')
-rw-r--r-- | mysql-test/t/func_concat.test | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/mysql-test/t/func_concat.test b/mysql-test/t/func_concat.test index 0cf1502b10e..78818cdda4e 100644 --- a/mysql-test/t/func_concat.test +++ b/mysql-test/t/func_concat.test @@ -34,3 +34,19 @@ 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; + +# BUG#6825 +select 'a' union select concat('a', -4); +select 'a' union select concat('a', -4.5); + +select 'a' union select concat('a', -(4 + 1)); +select 'a' union select concat('a', 4 - 5); + +select 'a' union select concat('a', -'3'); +select 'a' union select concat('a', -concat('3',4)); + +select 'a' union select concat('a', -0); +select 'a' union select concat('a', -0.0); + +select 'a' union select concat('a', -0.0000); + |