diff options
author | unknown <andrey@lmy004.> | 2006-06-29 11:53:51 +0200 |
---|---|---|
committer | unknown <andrey@lmy004.> | 2006-06-29 11:53:51 +0200 |
commit | 8d961c45e2e83f04da92cbfc31d2975a6949743f (patch) | |
tree | a00b31b4c212c2306f408dd4bfd8a98df08b3d82 /mysql-test/r/events_bugs.result | |
parent | 9fa9378b2e5713250e1262879c7bc4d999e1bb40 (diff) | |
download | mariadb-git-8d961c45e2e83f04da92cbfc31d2975a6949743f.tar.gz |
fix for bug#16394 "Events: Crash if schedule contains SELECT"
Parsing of CREATE/ALTER EVENT statement was crashing because of early
initialization done during parsing, instead in the after parsing phase.
Moreover, we don't want SUBqueries in CREATE/ALTER EVENT therefore we
disable them, though it is possible to make them work. It can be emulated
inside SP with a cursor and SP variable (CREATE/ALTER EVENT can still
accept variables as values).
mysql-test/r/events_bugs.result:
update result
mysql-test/t/events_bugs.test:
tests for bug#16384
sql/sql_yacc.yy:
disallow subqueries when SQLCOM_CREATE_EVENT | SQLCOM_ALTER_EVENT
The fix is not big, though lex->forbid_subqueries could have been introduced.
Easier is just to set the sql_command and check in both rules where
subqueries enter.
Diffstat (limited to 'mysql-test/r/events_bugs.result')
-rw-r--r-- | mysql-test/r/events_bugs.result | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/mysql-test/r/events_bugs.result b/mysql-test/r/events_bugs.result index e1f8551c2fd..afd2a439fac 100644 --- a/mysql-test/r/events_bugs.result +++ b/mysql-test/r/events_bugs.result @@ -190,4 +190,12 @@ events_test mysqltest_user1 mysqltest_user1@localhost RECURRING ENABLED drop event events_test.mysqltest_user1; drop user mysqltest_user1@localhost; drop database mysqltest_db1; +create event e_53 on schedule at (select s1 from ttx) do drop table t; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'select s1 from ttx) do drop table t' at line 1 +create event e_53 on schedule every (select s1 from ttx) second do drop table t; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'select s1 from ttx) second do drop table t' at line 1 +create event e_53 on schedule every 5 second starts (select s1 from ttx) do drop table t; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'select s1 from ttx) do drop table t' at line 1 +create event e_53 on schedule every 5 second ends (select s1 from ttx) do drop table t; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'select s1 from ttx) do drop table t' at line 1 drop database events_test; |