summaryrefslogtreecommitdiff
path: root/databases/mysql5-server/patches
diff options
context:
space:
mode:
authortaca <taca@pkgsrc.org>2011-08-04 09:09:41 +0000
committertaca <taca@pkgsrc.org>2011-08-04 09:09:41 +0000
commit5ce37c8c62d98d2a1d72aa5083b6107ad8e68857 (patch)
tree23ae32b50a9581eb0b82d7529997aa796d0227a3 /databases/mysql5-server/patches
parent702f4ed36a4554c7759b4ad2602a04f96b859980 (diff)
downloadpkgsrc-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.c7
-rw-r--r--databases/mysql5-server/patches/patch-sql_set__var.cc9
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",