mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03:00
Merge
mysql-test/t/cast.test: Auto merged sql/item.h: Auto merged
This commit is contained in:
@@ -367,3 +367,6 @@ DROP TABLE t1;
|
||||
select cast(NULL as decimal(6)) as t1;
|
||||
t1
|
||||
NULL
|
||||
select cast(1.0e+300 as signed int);
|
||||
cast(1.0e+300 as signed int)
|
||||
9223372036854775807
|
||||
|
@@ -160,6 +160,11 @@ select cast(concat('184467440','73709551615') as signed);
|
||||
select cast(repeat('1',20) as unsigned);
|
||||
select cast(repeat('1',20) as signed);
|
||||
|
||||
#
|
||||
# Bug #13344: cast of large decimal to signed int not handled correctly
|
||||
#
|
||||
select cast(1.0e+300 as signed int);
|
||||
|
||||
# End of 4.1 tests
|
||||
|
||||
|
||||
|
@@ -1331,6 +1331,14 @@ public:
|
||||
longlong val_int()
|
||||
{
|
||||
DBUG_ASSERT(fixed == 1);
|
||||
if (value <= (double) LONGLONG_MIN)
|
||||
{
|
||||
return LONGLONG_MIN;
|
||||
}
|
||||
else if (value >= (double) (ulonglong) LONGLONG_MAX)
|
||||
{
|
||||
return LONGLONG_MAX;
|
||||
}
|
||||
return (longlong) (value+(value > 0 ? 0.5 : -0.5));
|
||||
}
|
||||
String *val_str(String*);
|
||||
|
Reference in New Issue
Block a user