diff options
author | taca <taca@pkgsrc.org> | 2011-08-04 09:09:41 +0000 |
---|---|---|
committer | taca <taca@pkgsrc.org> | 2011-08-04 09:09:41 +0000 |
commit | 5ce37c8c62d98d2a1d72aa5083b6107ad8e68857 (patch) | |
tree | 23ae32b50a9581eb0b82d7529997aa796d0227a3 /databases/mysql5-server/patches | |
parent | 702f4ed36a4554c7759b4ad2602a04f96b859980 (diff) | |
download | pkgsrc-5ce37c8c62d98d2a1d72aa5083b6107ad8e68857.tar.gz |
Apply patch that in PR pkg/45214 by Robert Elz.
I've tested on 64bit time_t environment, too.
Diffstat (limited to 'databases/mysql5-server/patches')
-rw-r--r-- | databases/mysql5-server/patches/patch-sql-common_my__time.c | 7 | ||||
-rw-r--r-- | databases/mysql5-server/patches/patch-sql_set__var.cc | 9 |
2 files changed, 9 insertions, 7 deletions
diff --git a/databases/mysql5-server/patches/patch-sql-common_my__time.c b/databases/mysql5-server/patches/patch-sql-common_my__time.c index c0fb1d8bbf5..3b0df49a884 100644 --- a/databases/mysql5-server/patches/patch-sql-common_my__time.c +++ b/databases/mysql5-server/patches/patch-sql-common_my__time.c @@ -1,10 +1,10 @@ -$NetBSD: patch-sql-common_my__time.c,v 1.1 2011/08/02 16:15:08 taca Exp $ +$NetBSD: patch-sql-common_my__time.c,v 1.2 2011/08/04 09:09:41 taca Exp $ * Handling of time_t: http://lists.mysql.com/commits/128103 --- sql-common/my_time.c.orig 2011-01-25 11:28:00.000000000 +0000 +++ sql-common/my_time.c -@@ -984,8 +984,16 @@ my_system_gmt_sec(const MYSQL_TIME *t_sr +@@ -984,8 +984,17 @@ my_system_gmt_sec(const MYSQL_TIME *t_sr So, tmp < TIMESTAMP_MIN_VALUE will be triggered. On platfroms with unsigned time_t tmp+= shift*86400L might result in a number, larger then TIMESTAMP_MAX_VALUE, so another check will work. @@ -17,8 +17,9 @@ $NetBSD: patch-sql-common_my__time.c,v 1.1 2011/08/02 16:15:08 taca Exp $ - if ((tmp < TIMESTAMP_MIN_VALUE) || (tmp > TIMESTAMP_MAX_VALUE)) + if ((tmp < TIMESTAMP_MIN_VALUE) +#if SIZEOF_TIME_T > 4 -+ || (tmp > TIMESTAMP_MAX_VALUE)) ++ || (tmp > TIMESTAMP_MAX_VALUE) +#endif ++ ) tmp= 0; return (my_time_t) tmp; diff --git a/databases/mysql5-server/patches/patch-sql_set__var.cc b/databases/mysql5-server/patches/patch-sql_set__var.cc index bb06756d4d9..549bef24ecf 100644 --- a/databases/mysql5-server/patches/patch-sql_set__var.cc +++ b/databases/mysql5-server/patches/patch-sql_set__var.cc @@ -1,18 +1,19 @@ -$NetBSD: patch-sql_set__var.cc,v 1.1 2011/08/02 16:15:08 taca Exp $ +$NetBSD: patch-sql_set__var.cc,v 1.2 2011/08/04 09:09:41 taca Exp $ * Handling of time_t: http://lists.mysql.com/commits/128103 --- sql/set_var.cc.orig 2011-01-25 11:27:51.000000000 +0000 +++ sql/set_var.cc -@@ -2717,7 +2717,10 @@ bool sys_var_timestamp::check(THD *thd, +@@ -2717,7 +2717,11 @@ bool sys_var_timestamp::check(THD *thd, time_t val; var->save_result.ulonglong_value= var->value->val_int(); val= (time_t) var->save_result.ulonglong_value; - if (val < (time_t) MY_TIME_T_MIN || val > (time_t) MY_TIME_T_MAX) + if ((val < TIMESTAMP_MIN_VALUE) +#if SIZEOF_TIME_T > 4 -+ || (val > TIMESTAMP_MAX_VALUE)) -+#endif) ++ || (val > TIMESTAMP_MAX_VALUE) ++#endif ++ ) { my_message(ER_UNKNOWN_ERROR, "This version of MySQL doesn't support dates later than 2038", |