mirror of
https://github.com/MariaDB/server.git
synced 2025-01-20 05:52:27 +01:00
6d8f6b5bfd
BUG#26429: SHOW CREATE EVENT is incorrect for an event that STARTS NOW() BUG#26431: Impossible to re-create an event from backup if its STARTS clause is in the past WL#3698: Events: execution in local time zone The problem was that local times specified by the user in AT, STARTS and ENDS of CREATE EVENT/ALTER EVENT statement were converted to UTC, and the original time zone was forgotten. This way, event scheduler couldn't honor Daylight Saving Time shifts, and times shown to the user were also in UTC. Additionally, CREATE EVENT didn't allow times in the past, thus preventing straightforward event restoration from old backups. This patch reworks event scheduler time computations, performing them in the time zone associated with the event. Also it allows times to be in the past. The patch adds time_zone column to mysql.event table. NOTE: The patch is almost final, but the bug#9953 should be pushed first.
54 lines
1,022 B
PHP
54 lines
1,022 B
PHP
# include/wait_condition.inc
|
|
#
|
|
# SUMMARY
|
|
#
|
|
# Waits until the passed statement returns true, or the operation
|
|
# times out.
|
|
#
|
|
# USAGE
|
|
#
|
|
# let $wait_condition=
|
|
# SELECT c = 3 FROM t;
|
|
# --source include/wait_condition.inc
|
|
#
|
|
# OR
|
|
#
|
|
# let $wait_timeout= 60; # Override default 30 seconds with 60.
|
|
# let $wait_condition=
|
|
# SELECT c = 3 FROM t;
|
|
# --source include/wait_condition.inc
|
|
#
|
|
# EXAMPLE
|
|
# events_bugs.test, events_time_zone.test
|
|
#
|
|
|
|
--disable_query_log
|
|
|
|
let $wait_counter= 300;
|
|
if ($wait_timeout)
|
|
{
|
|
let $wait_counter= `SELECT $wait_timeout * 10`;
|
|
}
|
|
# Reset $wait_timeout so that its value won't be used on subsequent
|
|
# calls, and default will be used instead.
|
|
let $wait_timeout= 0;
|
|
|
|
while ($wait_counter)
|
|
{
|
|
let $success= `$wait_condition`;
|
|
if ($success)
|
|
{
|
|
let $wait_counter= 0;
|
|
}
|
|
if (!$success)
|
|
{
|
|
real_sleep 0.1;
|
|
dec $wait_counter;
|
|
}
|
|
}
|
|
if (!$success)
|
|
{
|
|
echo Timeout in wait_condition.inc for $wait_condition;
|
|
}
|
|
|
|
--enable_query_log
|