mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
fix for bug #16411 Events: Microsecond intervals are allowed
WL#1034 mysql-test/r/events.result: output fix sql/event.cc: - handle also INTERVAL_MICROSECOND, was missing. - use renamed ER_ code which is generic sql/event.h: add new error code sql/event_executor.cc: - use new ER_ code name - handle EVEX_MICROSECOND_UNSUP error code sql/event_timed.cc: forbid MICROSECOND intervals for events sql/share/errmsg.txt: rename error code, it's generic sql/sql_show.cc: use new error code name sql/sql_yacc.yy: bail out if any MICROSECOND interval is specified
This commit is contained in:
56
mysql-test/r/events_microsec.result
Normal file
56
mysql-test/r/events_microsec.result
Normal file
@ -0,0 +1,56 @@
|
||||
create database if not exists events_test;
|
||||
use events_test;
|
||||
CREATE EVENT micro_test ON SCHEDULE EVERY 100 MICROSECOND DO SELECT 1;
|
||||
ERROR 42000: This version of MySQL doesn't yet support 'MICROSECOND'
|
||||
CREATE EVENT micro_test ON SCHEDULE EVERY 100 DAY_MICROSECOND DO SELECT 1;
|
||||
ERROR 42000: This version of MySQL doesn't yet support 'MICROSECOND'
|
||||
CREATE EVENT micro_test ON SCHEDULE EVERY 100 HOUR_MICROSECOND DO SELECT 1;
|
||||
ERROR 42000: This version of MySQL doesn't yet support 'MICROSECOND'
|
||||
CREATE EVENT micro_test ON SCHEDULE EVERY 100 MINUTE_MICROSECOND DO SELECT 1;
|
||||
ERROR 42000: This version of MySQL doesn't yet support 'MICROSECOND'
|
||||
CREATE EVENT micro_test ON SCHEDULE EVERY 100 SECOND_MICROSECOND DO SELECT 1;
|
||||
ERROR 42000: This version of MySQL doesn't yet support 'MICROSECOND'
|
||||
"Now create normal event and change it on SQL level"
|
||||
CREATE EVENT micro_test2 ON SCHEDULE EVERY 1 MONTH DO SELECT 1;
|
||||
UPDATE mysql.event SET interval_field='MICROSECOND' WHERE db=database() AND definer=user() AND name='micro_test2';
|
||||
SHOW CREATE EVENT micro_test2;
|
||||
ERROR 42000: This version of MySQL doesn't yet support 'MICROSECOND'
|
||||
SET GLOBAL event_scheduler=0;
|
||||
"Should not be running:"
|
||||
SHOW VARIABLES like 'event_scheduler';
|
||||
Variable_name Value
|
||||
event_scheduler OFF
|
||||
UPDATE mysql.event SET interval_field='DAY_MICROSECOND' WHERE db=database() AND definer=user() AND name='micro_test2';
|
||||
SHOW CREATE EVENT micro_test2;
|
||||
ERROR 42000: This version of MySQL doesn't yet support 'MICROSECOND'
|
||||
SET GLOBAL event_scheduler=0;
|
||||
"Should not be running:"
|
||||
SHOW VARIABLES like 'event_scheduler';
|
||||
Variable_name Value
|
||||
event_scheduler OFF
|
||||
UPDATE mysql.event SET interval_field='SECOND_MICROSECOND' WHERE db=database() AND definer=user() AND name='micro_test2';
|
||||
SHOW CREATE EVENT micro_test2;
|
||||
ERROR 42000: This version of MySQL doesn't yet support 'MICROSECOND'
|
||||
SET GLOBAL event_scheduler=0;
|
||||
"Should not be running:"
|
||||
SHOW VARIABLES like 'event_scheduler';
|
||||
Variable_name Value
|
||||
event_scheduler OFF
|
||||
UPDATE mysql.event SET interval_field='HOUR_MICROSECOND' WHERE db=database() AND definer=user() AND name='micro_test2';
|
||||
SHOW CREATE EVENT micro_test2;
|
||||
ERROR 42000: This version of MySQL doesn't yet support 'MICROSECOND'
|
||||
SET GLOBAL event_scheduler=0;
|
||||
"Should not be running:"
|
||||
SHOW VARIABLES like 'event_scheduler';
|
||||
Variable_name Value
|
||||
event_scheduler OFF
|
||||
UPDATE mysql.event SET interval_field='MINUTE_MICROSECOND' WHERE db=database() AND definer=user() AND name='micro_test2';
|
||||
SHOW CREATE EVENT micro_test2;
|
||||
ERROR 42000: This version of MySQL doesn't yet support 'MICROSECOND'
|
||||
SET GLOBAL event_scheduler=0;
|
||||
"Should not be running:"
|
||||
SHOW VARIABLES like 'event_scheduler';
|
||||
Variable_name Value
|
||||
event_scheduler OFF
|
||||
DROP EVENT micro_test2;
|
||||
drop database events_test;
|
Reference in New Issue
Block a user