mirror of
https://github.com/MariaDB/server.git
synced 2025-12-04 17:23:46 +03:00
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.
20 lines
1.1 KiB
Plaintext
20 lines
1.1 KiB
Plaintext
# Can't test with embedded server that doesn't support grants
|
|
-- source include/not_embedded.inc
|
|
|
|
--disable_warnings
|
|
create database if not exists mysqltest_events_test;
|
|
--enable_warnings
|
|
|
|
use mysqltest_events_test;
|
|
set global event_scheduler=off;
|
|
create table execution_log(name char(10));
|
|
create event abc1 on schedule every 1 second do insert into execution_log value('abc1');
|
|
create event abc2 on schedule every 1 second do insert into execution_log value('abc2');
|
|
create event abc3 on schedule every 1 second do insert into execution_log value('abc3');
|
|
--sleep 1.5
|
|
select name from execution_log;
|
|
|
|
insert into mysql.event values ('db1','bad','select 42','root@localhost',NULL,1000,'MICROSECOND','2006-05-05 17:39:11','2006-05-05 17:39:20','2016-05-05 15:39:24','2016-05-05 15:39:11',NULL,'ENABLED','DROP','','comment1','SYSTEM');
|
|
insert into mysql.event values ('db1','bad2','sect','root@localhost',NULL,1000,'SECOND','2006-05-05 17:39:11','2006-05-05 17:39:20','2016-05-05 15:39:24','2016-05-05 15:39:11',NULL,'ENABLED','DROP','','comment2','SYSTEM');
|
|
--echo "Now we restart the server"
|