diff options
author | petr/cps@mysql.com/owlet.local <> | 2006-11-01 16:47:40 +0300 |
---|---|---|
committer | petr/cps@mysql.com/owlet.local <> | 2006-11-01 16:47:40 +0300 |
commit | 3ec542dfbdd08c13a6c33b07f7ddd9650c0e0ad8 (patch) | |
tree | e2642512c7a6f4cbdaa661730aca0413380e045e /sql/mysql_priv.h | |
parent | acaa584c5523753cab5b3a50ed3c95672b462541 (diff) | |
download | mariadb-git-3ec542dfbdd08c13a6c33b07f7ddd9650c0e0ad8.tar.gz |
Fix Bug #9191 "TIMESTAMP/from_unixtime() no longer accepts 2^31-1"
(4.1 version, with post-review fixes)
The fix for another Bug (6439) limited FROM_UNIXTIME() to
TIMESTAMP_MAX_VALUE which is 2145916799 or 2037-12-01 23:59:59 GMT,
however unix timestamp in general is not considered to be limited
by this value. All dates up to power(2,31)-1 are valid.
This patch extends allowed TIMESTAMP range so, that max
TIMESTAMP value is power(2,31)-1. It also corrects
FROM_UNIXTIME() and UNIX_TIMESTAMP() functions, so that
max allowed UNIX_TIMESTAMP() is power(2,31)-1. FROM_UNIXTIME()
is fixed accordingly to allow conversion of dates up to
2038-01-19 03:14:07 UTC. The patch also fixes CONVERT_TZ()
function to allow extended range of dates.
The main problem solved in the patch is possible overflows
of variables, used in broken-time representation to time_t
conversion (required for UNIX_TIMESTAMP).
Diffstat (limited to 'sql/mysql_priv.h')
-rw-r--r-- | sql/mysql_priv.h | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/sql/mysql_priv.h b/sql/mysql_priv.h index 4a5658c5ccf..c0525198d4a 100644 --- a/sql/mysql_priv.h +++ b/sql/mysql_priv.h @@ -142,12 +142,6 @@ MY_LOCALE *my_locale_by_name(const char *name); /* Characters shown for the command in 'show processlist' */ #define PROCESS_LIST_WIDTH 100 -/* Time handling defaults */ -#define TIMESTAMP_MAX_YEAR 2038 -#define YY_PART_YEAR 70 -#define TIMESTAMP_MIN_YEAR (1900 + YY_PART_YEAR - 1) -#define TIMESTAMP_MAX_VALUE 2145916799 -#define TIMESTAMP_MIN_VALUE 1 #define PRECISION_FOR_DOUBLE 53 #define PRECISION_FOR_FLOAT 24 |