diff options
author | unknown <andrey@lmy004.> | 2006-02-20 16:06:05 +0100 |
---|---|---|
committer | unknown <andrey@lmy004.> | 2006-02-20 16:06:05 +0100 |
commit | 17fb7f96a2617e3fb9743cc2d038862702bf9235 (patch) | |
tree | 3eedf771340bb2cca5ef68e1a181745329f10f36 /mysql-test/r | |
parent | bac7f10448cf4fc499e8f2b1d07ec2f587caae20 (diff) | |
download | mariadb-git-17fb7f96a2617e3fb9743cc2d038862702bf9235.tar.gz |
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
Diffstat (limited to 'mysql-test/r')
-rw-r--r-- | mysql-test/r/events.result | 2 | ||||
-rw-r--r-- | mysql-test/r/events_microsec.result | 56 |
2 files changed, 57 insertions, 1 deletions
diff --git a/mysql-test/r/events.result b/mysql-test/r/events.result index ccaaee90684..f41adfb8d56 100644 --- a/mysql-test/r/events.result +++ b/mysql-test/r/events.result @@ -204,7 +204,7 @@ event CREATE TABLE `event` ( `on_completion` enum('DROP','PRESERVE') NOT NULL default 'DROP', `sql_mode` set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') NOT NULL default '', `comment` char(64) character set utf8 collate utf8_bin NOT NULL default '', - PRIMARY KEY (`definer`,`db`,`name`) + PRIMARY KEY (`definer`,`db`,`name`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Events' SELECT event_name FROM INFORMATION_SCHEMA.EVENTS; ERROR HY000: Cannot load from mysql.event. Table probably corrupted. See error log. diff --git a/mysql-test/r/events_microsec.result b/mysql-test/r/events_microsec.result new file mode 100644 index 00000000000..e31720d0aaa --- /dev/null +++ b/mysql-test/r/events_microsec.result @@ -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; |