mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 21:12:26 +01:00
Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into magare.gmz:/home/kgeorge/mysql/autopush/B27807-5.0-opt
This commit is contained in:
commit
3ebd2e55b9
3 changed files with 16 additions and 2 deletions
|
@ -351,6 +351,12 @@ DROP TABLE t1;
|
|||
select isnull(date(NULL)), isnull(cast(NULL as DATE));
|
||||
isnull(date(NULL)) isnull(cast(NULL as DATE))
|
||||
1 1
|
||||
SELECT CAST(cast('01-01-01' as date) AS UNSIGNED);
|
||||
CAST(cast('01-01-01' as date) AS UNSIGNED)
|
||||
20010101
|
||||
SELECT CAST(cast('01-01-01' as date) AS SIGNED);
|
||||
CAST(cast('01-01-01' as date) AS SIGNED)
|
||||
20010101
|
||||
End of 4.1 tests
|
||||
select cast('1.2' as decimal(3,2));
|
||||
cast('1.2' as decimal(3,2))
|
||||
|
|
|
@ -182,6 +182,12 @@ DROP TABLE t1;
|
|||
|
||||
select isnull(date(NULL)), isnull(cast(NULL as DATE));
|
||||
|
||||
#
|
||||
# Bug#23656: Wrong result of CAST from DATE to int
|
||||
#
|
||||
SELECT CAST(cast('01-01-01' as date) AS UNSIGNED);
|
||||
SELECT CAST(cast('01-01-01' as date) AS SIGNED);
|
||||
|
||||
--echo End of 4.1 tests
|
||||
|
||||
|
||||
|
|
|
@ -947,7 +947,8 @@ longlong Item_func_signed::val_int()
|
|||
longlong value;
|
||||
int error;
|
||||
|
||||
if (args[0]->cast_to_int_type() != STRING_RESULT)
|
||||
if (args[0]->cast_to_int_type() != STRING_RESULT ||
|
||||
args[0]->result_as_longlong())
|
||||
{
|
||||
value= args[0]->val_int();
|
||||
null_value= args[0]->null_value;
|
||||
|
@ -986,7 +987,8 @@ longlong Item_func_unsigned::val_int()
|
|||
my_decimal2int(E_DEC_FATAL_ERROR, dec, 1, &value);
|
||||
return value;
|
||||
}
|
||||
else if (args[0]->cast_to_int_type() != STRING_RESULT)
|
||||
else if (args[0]->cast_to_int_type() != STRING_RESULT ||
|
||||
args[0]->result_as_longlong())
|
||||
{
|
||||
value= args[0]->val_int();
|
||||
null_value= args[0]->null_value;
|
||||
|
|
Loading…
Reference in a new issue