Loading sql/event_data_objects.cc +16 −9 Original line number Diff line number Diff line Loading @@ -395,7 +395,14 @@ Event_parse_data::init_starts(THD *thd) if ((not_used= item_starts->get_date(<ime, 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()); Loading @@ -407,12 +414,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. 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(<ime,t=TIME_to_timestamp(thd, <ime, ¬_used)); my_tz_UTC->gmt_sec_to_TIME(<ime,t=TIME_to_timestamp(thd, <ime, ¬_used)); if (!t) goto wrong_value; Loading Loading @@ -465,13 +472,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. 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(<ime,t=TIME_to_timestamp(thd, <ime, ¬_used)); my_tz_UTC->gmt_sec_to_TIME(<ime,t=TIME_to_timestamp(thd, <ime, ¬_used)); if (!t) goto error_bad_params; Loading sql/event_queue.cc +0 −1 Original line number Diff line number Diff line Loading @@ -160,7 +160,6 @@ Event_queue::init_queue(THD *thd, Event_db_repository *db_repo) { sql_print_error("SCHEDULER: sizeof(my_time_t) != sizeof(time_t) ." "The scheduler may not work correctly. Stopping"); DBUG_ASSERT(0); goto err; } Loading Loading
sql/event_data_objects.cc +16 −9 Original line number Diff line number Diff line Loading @@ -395,7 +395,14 @@ Event_parse_data::init_starts(THD *thd) if ((not_used= item_starts->get_date(<ime, 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()); Loading @@ -407,12 +414,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. 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(<ime,t=TIME_to_timestamp(thd, <ime, ¬_used)); my_tz_UTC->gmt_sec_to_TIME(<ime,t=TIME_to_timestamp(thd, <ime, ¬_used)); if (!t) goto wrong_value; Loading Loading @@ -465,13 +472,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. 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(<ime,t=TIME_to_timestamp(thd, <ime, ¬_used)); my_tz_UTC->gmt_sec_to_TIME(<ime,t=TIME_to_timestamp(thd, <ime, ¬_used)); if (!t) goto error_bad_params; Loading
sql/event_queue.cc +0 −1 Original line number Diff line number Diff line Loading @@ -160,7 +160,6 @@ Event_queue::init_queue(THD *thd, Event_db_repository *db_repo) { sql_print_error("SCHEDULER: sizeof(my_time_t) != sizeof(time_t) ." "The scheduler may not work correctly. Stopping"); DBUG_ASSERT(0); goto err; } Loading