mirror of
https://github.com/MariaDB/server.git
synced 2025-01-22 14:54:20 +01:00
Merging with 5.1-bugteam.
This commit is contained in:
commit
e2fb6dc1d9
5 changed files with 44 additions and 0 deletions
|
@ -616,6 +616,8 @@ static int run_mysqlcheck_upgrade(void)
|
||||||
"--check-upgrade",
|
"--check-upgrade",
|
||||||
"--all-databases",
|
"--all-databases",
|
||||||
"--auto-repair",
|
"--auto-repair",
|
||||||
|
"--fix-db-names",
|
||||||
|
"--fix-table-names",
|
||||||
NULL);
|
NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -250,6 +250,15 @@ inline double ulonglong2double(ulonglong value)
|
||||||
#define my_off_t2double(A) ulonglong2double(A)
|
#define my_off_t2double(A) ulonglong2double(A)
|
||||||
#endif /* _WIN64 */
|
#endif /* _WIN64 */
|
||||||
|
|
||||||
|
inline ulonglong double2ulonglong(double d)
|
||||||
|
{
|
||||||
|
double t= d - (double) 0x8000000000000000ULL;
|
||||||
|
|
||||||
|
if (t >= 0)
|
||||||
|
return ((ulonglong) t) + 0x8000000000000000ULL;
|
||||||
|
return (ulonglong) d;
|
||||||
|
}
|
||||||
|
|
||||||
#if SIZEOF_OFF_T > 4
|
#if SIZEOF_OFF_T > 4
|
||||||
#define lseek(A,B,C) _lseeki64((A),(longlong) (B),(C))
|
#define lseek(A,B,C) _lseeki64((A),(longlong) (B),(C))
|
||||||
#define tell(A) _telli64(A)
|
#define tell(A) _telli64(A)
|
||||||
|
|
|
@ -789,6 +789,9 @@ typedef SOCKET_SIZE_TYPE size_socket;
|
||||||
#define ulonglong2double(A) ((double) (ulonglong) (A))
|
#define ulonglong2double(A) ((double) (ulonglong) (A))
|
||||||
#define my_off_t2double(A) ((double) (my_off_t) (A))
|
#define my_off_t2double(A) ((double) (my_off_t) (A))
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef double2ulonglong
|
||||||
|
#define double2ulonglong(A) ((ulonglong) (double) (A))
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef offsetof
|
#ifndef offsetof
|
||||||
|
|
|
@ -392,4 +392,17 @@ f1 + 0e0
|
||||||
1.0000000150475e+30
|
1.0000000150475e+30
|
||||||
-1.0000000150475e+30
|
-1.0000000150475e+30
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
create table t1(d double, u bigint unsigned);
|
||||||
|
insert into t1(d) values (9.2233720368547777e+18),
|
||||||
|
(9.223372036854779e18),
|
||||||
|
(9.22337203685479e18),
|
||||||
|
(1.84e19);
|
||||||
|
update t1 set u = d;
|
||||||
|
select * from t1;
|
||||||
|
d u
|
||||||
|
9.22337203685478e+18 9223372036854775808
|
||||||
|
9.22337203685478e+18 9223372036854779904
|
||||||
|
9.22337203685479e+18 9223372036854790144
|
||||||
|
1.84e+19 18400000000000000000
|
||||||
|
drop table t1;
|
||||||
End of 5.0 tests
|
End of 5.0 tests
|
||||||
|
|
|
@ -252,4 +252,21 @@ insert into t1 values (2e30), (-2e30);
|
||||||
select f1 + 0e0 from t1;
|
select f1 + 0e0 from t1;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #27483: Casting 'scientific notation type' to 'unsigned bigint' fails on
|
||||||
|
# windows.
|
||||||
|
#
|
||||||
|
|
||||||
|
create table t1(d double, u bigint unsigned);
|
||||||
|
|
||||||
|
insert into t1(d) values (9.2233720368547777e+18),
|
||||||
|
(9.223372036854779e18),
|
||||||
|
(9.22337203685479e18),
|
||||||
|
(1.84e19);
|
||||||
|
|
||||||
|
update t1 set u = d;
|
||||||
|
select * from t1;
|
||||||
|
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
--echo End of 5.0 tests
|
--echo End of 5.0 tests
|
||||||
|
|
Loading…
Add table
Reference in a new issue