diff --git a/mysql-test/r/events.result b/mysql-test/r/events.result index ecaf1ec252ed3f1dca78c5ed7dd008bc2e563a87..ced214406861667c70252985957c370940768310 100644 --- a/mysql-test/r/events.result +++ b/mysql-test/r/events.result @@ -465,4 +465,10 @@ select event_schema, event_name, definer, event_body from information_schema.eve event_schema event_name definer event_body events_test white_space root@localhost select 3 drop event white_space; +create event e1 on schedule every 1 year do set @a = 5; +create table t1 (s1 int); +create trigger t1_ai after insert on t1 for each row show create event e1; +ERROR 0A000: Not allowed to return a result set from a trigger +drop table t1; +drop event e1; drop database events_test; diff --git a/mysql-test/r/sp-error.result b/mysql-test/r/sp-error.result index 5ab8779782aaf12c61ef1979099e4f2c7106aa13..40fe0b09814e12461dd00220d067b4fe81146db5 100644 --- a/mysql-test/r/sp-error.result +++ b/mysql-test/r/sp-error.result @@ -1166,3 +1166,10 @@ drop procedure bug15091; drop function if exists bug16896; create aggregate function bug16896() returns int return 1; ERROR 42000: AGGREGATE is not supported for stored functions +drop function if exists bug16164; +create function bug16164() returns int +begin +show authors; +return 42; +end| +ERROR 0A000: Not allowed to return a result set from a function diff --git a/mysql-test/t/events.test b/mysql-test/t/events.test index a261b3c0c11a57bab6a7565544beaa811c17b92d..d9d8d75ff8ca295d7134f7066e6d2cee1dd5210d 100644 --- a/mysql-test/t/events.test +++ b/mysql-test/t/events.test @@ -427,6 +427,16 @@ drop event white_space; # END: BUG #17453: Creating Event crash the server # +# +# Bug#17403 "Events: packets out of order with show create event" +# +create event e1 on schedule every 1 year do set @a = 5; +create table t1 (s1 int); +--error ER_SP_NO_RETSET +create trigger t1_ai after insert on t1 for each row show create event e1; +drop table t1; +drop event e1; + ##set global event_scheduler=1; ##select get_lock("test_lock3", 20); ##create event 蟹邪泻邪褔泻邪 on schedule every 10 hour do select get_lock("test_lock3", 20); diff --git a/mysql-test/t/sp-error.test b/mysql-test/t/sp-error.test index 4b307de2ad0ac6793b428e335afe774bcf41cee4..da40cdf643a5407f1c08322122aa57a09c651c0c 100644 --- a/mysql-test/t/sp-error.test +++ b/mysql-test/t/sp-error.test @@ -1691,6 +1691,24 @@ drop function if exists bug16896; --error ER_SP_NO_AGGREGATE create aggregate function bug16896() returns int return 1; +# +# End of 5.0 tests +# + +# +# Bug#16164 "Easter egg": check that SHOW AUTHORS is disabled in +# stored functions/triggers +# +--disable_warnings +drop function if exists bug16164; +--enable_warnings +delimiter |; +--error ER_SP_NO_RETSET +create function bug16164() returns int +begin + show authors; + return 42; +end| # # BUG#NNNN: New bug synopsis diff --git a/sql/sp_head.cc b/sql/sp_head.cc index d97dcc390ca6511ae2dac0c3b8a39b3a0fb68a4c..ea2f67b3ba58998edd4d385cbfd48b77b199607a 100644 --- a/sql/sp_head.cc +++ b/sql/sp_head.cc @@ -176,6 +176,7 @@ sp_get_flags_for_command(LEX *lex) case SQLCOM_SHOW_CREATE_DB: case SQLCOM_SHOW_CREATE_FUNC: case SQLCOM_SHOW_CREATE_PROC: + case SQLCOM_SHOW_CREATE_EVENT: case SQLCOM_SHOW_DATABASES: case SQLCOM_SHOW_ERRORS: case SQLCOM_SHOW_FIELDS: @@ -200,6 +201,7 @@ sp_get_flags_for_command(LEX *lex) case SQLCOM_SHOW_WARNS: case SQLCOM_SHOW_PROC_CODE: case SQLCOM_SHOW_FUNC_CODE: + case SQLCOM_SHOW_AUTHORS: case SQLCOM_REPAIR: case SQLCOM_BACKUP_TABLE: case SQLCOM_RESTORE_TABLE: