1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

Bug#26536 func_time failure on vm-win2003-64-b, occurs every time

- Avoid overflow in sec_since_epoch by shifting the time
   back 2 days for times close to the maximum range of my_time_t
 - Improve comment about why we need my_time_t
 - Patch will also fix timezone2.test


include/my_time.h:
  Improve comment for my_time_t, especially that we require
  it to be at least a 32bit unsigned type
sql/tztime.cc:
  - Add assert in sec_since_epoch to guard it against broken down time
  values that would cause overflow in my_time_t on systems with 32 bit
  my_time_t
  - Avoid overflow in sec_since_epoch by "shifting" the broken down
  time back 2 days for times that are near the max value.c
This commit is contained in:
unknown
2007-02-23 17:33:11 +01:00
parent 44994c9dfc
commit d8ba8b8c98
2 changed files with 27 additions and 4 deletions

View File

@@ -30,7 +30,13 @@ extern uchar days_in_month[];
/*
Portable time_t replacement.
Should be signed and hold seconds for 1902-2038 range.
Should be signed and hold seconds for 1902 -- 2038-01-19 range
i.e at least a 32bit variable
Using the system built in time_t is not an option as
we rely on the above requirements in the time functions
For example QNX has an unsigned time_t type
*/
typedef long my_time_t;