1#====================================================================== 2# 3# Trigger Tests 4# test cases for TRIGGER privilege on db, table and column level 5#====================================================================== 6 7--disable_abort_on_error 8 9########################################### 10################ Section 3.5.3 ############ 11# Check for Triggers in transactions # 12########################################### 13 14# General setup to be used in all testcases 15let $message= ######### Testcase for transactions: ########; 16--source include/show_msg.inc 17 18 --disable_warnings 19 drop database if exists priv_db; 20 --enable_warnings 21 create database priv_db; 22 use priv_db; 23 eval create table t1 (f1 char(20)) engine= $engine_type; 24 25 create User test_yesprivs@localhost; 26 set password for test_yesprivs@localhost = password('PWD'); 27 28 revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost; 29 30 connect (yes_privs,localhost,test_yesprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK); 31 32 connection default; 33 select current_user; 34 grant select, insert, update ,trigger 35 on priv_db.t1 to test_yesprivs@localhost; 36 show grants for test_yesprivs@localhost; 37 38 connection yes_privs; 39 select current_user; 40 use priv_db; 41 set autocommit=0; 42 create definer=current_user trigger trg1_1 43 before INSERT on t1 for each row 44 set new.f1 = 'trig 1_1-yes'; 45 rollback work; 46 insert into t1 (f1) values ('insert-no'); 47 select f1 from t1 order by f1; 48 49 create definer=test_yesprivs@localhost trigger trg1_2 50 before UPDATE on t1 for each row 51 set new.f1 = 'trig 1_2-yes'; 52 commit work; 53 update t1 set f1 = 'update-yes' where f1 like '%trig%'; 54 select f1 from t1 order by f1; 55 commit work; 56 drop trigger trg1_1; 57 rollback work; 58 --error ER_TRG_DOES_NOT_EXIST 59 drop trigger trg1_1; 60 drop trigger trg1_2; 61 commit work; 62 set autocommit=1; 63 64 connection default; 65 select current_user; 66 67# Cleanup prepare 68 --disable_warnings 69 disconnect yes_privs; 70 71 connection default; 72 select current_user; 73 --enable_warnings 74 75 76# general Cleanup 77 --disable_warnings 78 drop database if exists priv_db; 79 drop user test_yesprivs@localhost; 80 --enable_warnings 81 82