mySQL 5.0.11 sources for tomato
[tomato.git] / release / src / router / mysql / mysql-test / suite / funcs_1 / triggers / triggers_03e_transaction.inc
blob2f72ba64bfd1c467d61a3e0b7c8952a3edd3d92a
1 #======================================================================
3 # Trigger Tests
4 # test cases for TRIGGER privilege on db, table and column level
5 #======================================================================
7 --disable_abort_on_error
9 ###########################################
10 ################ Section 3.5.3 ############
11 # Check for Triggers in transactions      #
12 ###########################################
14 # General setup to be used in all testcases
15 let $message= #########      Testcase for transactions:   ########;
16 --source include/show_msg.inc
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;
25         create User test_yesprivs@localhost;
26         set password for test_yesprivs@localhost = password('PWD');
28         revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost;
30         connect (yes_privs,localhost,test_yesprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK);
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;
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;
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;
64         connection default;
65         select current_user;
67 # Cleanup prepare
68         --disable_warnings
69         disconnect yes_privs;
71         connection default;
72         select current_user;
73         --enable_warnings
76 # general Cleanup
77         --disable_warnings
78         drop database if exists priv_db;
79         drop user test_yesprivs@localhost;
80         --enable_warnings