summaryrefslogtreecommitdiff
path: root/sql/event_data_objects.cc
diff options
context:
space:
mode:
authorunknown <malff/marcsql@weblab.(none)>2007-01-02 14:18:13 -0700
committerunknown <malff/marcsql@weblab.(none)>2007-01-02 14:18:13 -0700
commitd7577ecb7d455d9a326a7543c8ef1a81e59150d1 (patch)
tree1a43bc5c6b21902a943e0a8759f9f36c9c407c1c /sql/event_data_objects.cc
parentf20cb8d0379264eef566c6b91fe2aa03017789ba (diff)
parent552d4cede57926ecfba91624e9ef2a72cf1bd81f (diff)
downloadmariadb-git-d7577ecb7d455d9a326a7543c8ef1a81e59150d1.tar.gz
Merge weblab.(none):/home/marcsql/TREE/mysql-5.1-base
into weblab.(none):/home/marcsql/TREE/mysql-5.1-merge mysql-test/r/sp.result: Auto merged server-tools/instance-manager/commands.cc: Auto merged server-tools/instance-manager/commands.h: Auto merged server-tools/instance-manager/guardian.cc: Auto merged server-tools/instance-manager/guardian.h: Auto merged server-tools/instance-manager/instance.cc: Auto merged server-tools/instance-manager/instance.h: Auto merged server-tools/instance-manager/instance_map.cc: Auto merged server-tools/instance-manager/instance_map.h: Auto merged server-tools/instance-manager/instance_options.h: Auto merged server-tools/instance-manager/listener.cc: Auto merged server-tools/instance-manager/manager.cc: Auto merged server-tools/instance-manager/manager.h: Auto merged server-tools/instance-manager/user_map.cc: Auto merged sql/event_data_objects.cc: Auto merged sql/event_queue.cc: Auto merged sql/handler.cc: Auto merged sql/lock.cc: Auto merged sql/set_var.cc: Auto merged sql/set_var.h: Auto merged sql/sp_head.cc: Auto merged sql/sp_head.h: Auto merged sql/sql_class.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_lex.cc: Auto merged sql/sql_lex.h: Auto merged sql/sql_prepare.cc: Auto merged sql/sql_yacc.yy: Auto merged storage/csv/ha_tina.cc: Auto merged tests/mysql_client_test.c: Auto merged
Diffstat (limited to 'sql/event_data_objects.cc')
-rw-r--r--sql/event_data_objects.cc25
1 files changed, 16 insertions, 9 deletions
diff --git a/sql/event_data_objects.cc b/sql/event_data_objects.cc
index eef45f93b7a..54b043bd916 100644
--- a/sql/event_data_objects.cc
+++ b/sql/event_data_objects.cc
@@ -394,7 +394,14 @@ Event_parse_data::init_starts(THD *thd)
if ((not_used= item_starts->get_date(&ltime, TIME_NO_ZERO_DATE)))
goto wrong_value;
- /* Let's check whether time is in the past */
+ /*
+ Let's check whether time is in the past.
+ Note: This call is not post year 2038 safe. That's because
+ thd->query_start() is of time_t, while gmt_sec_to_TIME()
+ wants my_time_t. In the case time_t is larger than my_time_t
+ an overflow might happen and events subsystem will not work as
+ expected.
+ */
thd->variables.time_zone->gmt_sec_to_TIME(&time_tmp,
(my_time_t) thd->query_start());
@@ -406,12 +413,12 @@ Event_parse_data::init_starts(THD *thd)
goto wrong_value;
/*
- This may result in a 1970-01-01 date if ltime is > 2037-xx-xx.
- CONVERT_TZ has similar problem.
- mysql_priv.h currently lists
+ Again, after 2038 this code won't work. As
+ mysql_priv.h currently lists
#define TIMESTAMP_MAX_YEAR 2038 (see TIME_to_timestamp())
*/
- my_tz_UTC->gmt_sec_to_TIME(&ltime,t=TIME_to_timestamp(thd, &ltime, &not_used));
+ my_tz_UTC->gmt_sec_to_TIME(&ltime,t=TIME_to_timestamp(thd, &ltime,
+ &not_used));
if (!t)
goto wrong_value;
@@ -464,13 +471,13 @@ Event_parse_data::init_ends(THD *thd)
goto error_bad_params;
/*
- This may result in a 1970-01-01 date if ltime is > 2037-xx-xx.
- CONVERT_TZ has similar problem.
- mysql_priv.h currently lists
+ Again, after 2038 this code won't work. As
+ mysql_priv.h currently lists
#define TIMESTAMP_MAX_YEAR 2038 (see TIME_to_timestamp())
*/
DBUG_PRINT("info", ("get the UTC time"));
- my_tz_UTC->gmt_sec_to_TIME(&ltime,t=TIME_to_timestamp(thd, &ltime, &not_used));
+ my_tz_UTC->gmt_sec_to_TIME(&ltime,t=TIME_to_timestamp(thd, &ltime,
+ &not_used));
if (!t)
goto error_bad_params;