summaryrefslogtreecommitdiffstats
path: root/mysql-test/main/events_trans_notembedded.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/main/events_trans_notembedded.test')
-rw-r--r--mysql-test/main/events_trans_notembedded.test68
1 files changed, 68 insertions, 0 deletions
diff --git a/mysql-test/main/events_trans_notembedded.test b/mysql-test/main/events_trans_notembedded.test
new file mode 100644
index 00000000..3cf823bf
--- /dev/null
+++ b/mysql-test/main/events_trans_notembedded.test
@@ -0,0 +1,68 @@
+#
+# Tests that require transactions
+#
+-- source include/not_embedded.inc
+-- source include/have_innodb.inc
+--disable_warnings
+drop database if exists events_test;
+drop database if exists mysqltest_db2;
+--enable_warnings
+create database events_test;
+use events_test;
+
+#
+# Privilege checks
+#
+create user mysqltest_user1@localhost;
+grant create, insert, select, delete on mysqltest_db2.*
+ to mysqltest_user1@localhost;
+create database mysqltest_db2;
+connect (conn1,localhost,mysqltest_user1,,mysqltest_db2);
+set autocommit=off;
+# Sanity check
+select @@autocommit;
+create table t1 (a varchar(255)) engine=innodb;
+# Not enough privileges to CREATE EVENT
+begin work;
+insert into t1 (a) values ("OK: create event: insufficient privileges");
+--error ER_DBACCESS_DENIED_ERROR
+create event e1 on schedule every 1 day do select 1;
+rollback work;
+select * from t1;
+delete from t1;
+commit work;
+# Not enough privileges to ALTER EVENT
+begin work;
+insert into t1 (a) values ("OK: alter event: insufficient privileges");
+--error ER_DBACCESS_DENIED_ERROR
+alter event e1 on schedule every 1 day do select 1;
+rollback work;
+select * from t1;
+delete from t1;
+commit work;
+# Not enough privileges to DROP EVENT
+begin work;
+insert into t1 (a) values ("OK: drop event: insufficient privileges");
+--error ER_DBACCESS_DENIED_ERROR
+drop event e1;
+rollback work;
+select * from t1;
+delete from t1;
+commit work;
+# Cleanup
+disconnect conn1;
+--source include/wait_until_disconnected.inc
+connection default;
+drop user mysqltest_user1@localhost;
+drop database mysqltest_db2;
+
+#
+# Cleanup
+#
+let $wait_condition=
+ select count(*) = 0 from information_schema.processlist
+ where db='events_test' and command = 'Connect' and user=current_user();
+--source include/wait_condition.inc
+
+drop database events_test;
+