1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201
|
drop table if exists t1, t2;
create table t1 (a int) type=innodb;
create table t2 (a int) type=myisam;
reset master;
begin;
insert into t1 values(1);
insert into t2 select * from t1;
commit;
show binlog events from 79;
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.001 79 Query 1 79 use `test`; BEGIN
master-bin.001 119 Query 1 79 use `test`; insert into t1 values(1)
master-bin.001 178 Query 1 79 use `test`; insert into t2 select * from t1
master-bin.001 244 Query 1 244 use `test`; COMMIT
delete from t1;
delete from t2;
reset master;
begin;
insert into t1 values(2);
insert into t2 select * from t1;
rollback;
Warning: Some non-transactional changed tables couldn't be rolled back
show binlog events from 79;
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.001 79 Query 1 79 use `test`; BEGIN
master-bin.001 119 Query 1 79 use `test`; insert into t1 values(2)
master-bin.001 178 Query 1 79 use `test`; insert into t2 select * from t1
master-bin.001 244 Query 1 244 use `test`; ROLLBACK
delete from t1;
delete from t2;
reset master;
begin;
insert into t1 values(3);
savepoint my_savepoint;
insert into t1 values(4);
insert into t2 select * from t1;
rollback to savepoint my_savepoint;
Warning: Some non-transactional changed tables couldn't be rolled back
commit;
show binlog events from 79;
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.001 79 Query 1 79 use `test`; BEGIN
master-bin.001 119 Query 1 79 use `test`; insert into t1 values(3)
master-bin.001 178 Query 1 79 use `test`; savepoint my_savepoint
master-bin.001 235 Query 1 79 use `test`; insert into t1 values(4)
master-bin.001 294 Query 1 79 use `test`; insert into t2 select * from t1
master-bin.001 360 Query 1 79 use `test`; rollback to savepoint my_savepoint
master-bin.001 429 Query 1 429 use `test`; COMMIT
delete from t1;
delete from t2;
reset master;
begin;
insert into t1 values(5);
savepoint my_savepoint;
insert into t1 values(6);
insert into t2 select * from t1;
rollback to savepoint my_savepoint;
Warning: Some non-transactional changed tables couldn't be rolled back
insert into t1 values(7);
commit;
select a from t1 order by a;
a
5
7
show binlog events from 79;
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.001 79 Query 1 79 use `test`; BEGIN
master-bin.001 119 Query 1 79 use `test`; insert into t1 values(5)
master-bin.001 178 Query 1 79 use `test`; savepoint my_savepoint
master-bin.001 235 Query 1 79 use `test`; insert into t1 values(6)
master-bin.001 294 Query 1 79 use `test`; insert into t2 select * from t1
master-bin.001 360 Query 1 79 use `test`; rollback to savepoint my_savepoint
master-bin.001 429 Query 1 79 use `test`; insert into t1 values(7)
master-bin.001 488 Query 1 488 use `test`; COMMIT
delete from t1;
delete from t2;
reset master;
select get_lock("a",10);
get_lock("a",10)
1
begin;
insert into t1 values(8);
insert into t2 select * from t1;
select get_lock("a",10);
get_lock("a",10)
1
show binlog events from 79;
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.001 79 Query 1 79 use `test`; BEGIN
master-bin.001 119 Query 1 79 use `test`; insert into t1 values(8)
master-bin.001 178 Query 1 79 use `test`; insert into t2 select * from t1
master-bin.001 244 Query 1 244 use `test`; ROLLBACK
delete from t1;
delete from t2;
reset master;
insert into t1 values(9);
insert into t2 select * from t1;
show binlog events from 79;
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.001 79 Query 1 79 use `test`; insert into t1 values(9)
master-bin.001 138 Query 1 138 use `test`; insert into t2 select * from t1
delete from t1;
delete from t2;
reset master;
insert into t1 values(10);
begin;
insert into t2 select * from t1;
show binlog events from 79;
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.001 79 Query 1 79 use `test`; insert into t1 values(10)
master-bin.001 139 Query 1 139 use `test`; insert into t2 select * from t1
insert into t1 values(11);
commit;
show binlog events from 79;
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.001 79 Query 1 79 use `test`; insert into t1 values(10)
master-bin.001 139 Query 1 139 use `test`; insert into t2 select * from t1
master-bin.001 205 Query 1 205 use `test`; BEGIN
master-bin.001 245 Query 1 205 use `test`; insert into t1 values(11)
master-bin.001 305 Query 1 305 use `test`; COMMIT
alter table t2 type=INNODB;
delete from t1;
delete from t2;
reset master;
begin;
insert into t1 values(12);
insert into t2 select * from t1;
commit;
show binlog events from 79;
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.001 79 Query 1 79 use `test`; BEGIN
master-bin.001 119 Query 1 79 use `test`; insert into t1 values(12)
master-bin.001 179 Query 1 79 use `test`; insert into t2 select * from t1
master-bin.001 245 Query 1 245 use `test`; COMMIT
delete from t1;
delete from t2;
reset master;
begin;
insert into t1 values(13);
insert into t2 select * from t1;
rollback;
show binlog events from 79;
Log_name Pos Event_type Server_id Orig_log_pos Info
delete from t1;
delete from t2;
reset master;
begin;
insert into t1 values(14);
savepoint my_savepoint;
insert into t1 values(15);
insert into t2 select * from t1;
rollback to savepoint my_savepoint;
commit;
show binlog events from 79;
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.001 79 Query 1 79 use `test`; BEGIN
master-bin.001 119 Query 1 79 use `test`; insert into t1 values(14)
master-bin.001 179 Query 1 179 use `test`; COMMIT
delete from t1;
delete from t2;
reset master;
begin;
insert into t1 values(16);
savepoint my_savepoint;
insert into t1 values(17);
insert into t2 select * from t1;
rollback to savepoint my_savepoint;
insert into t1 values(18);
commit;
select a from t1 order by a;
a
16
18
show binlog events from 79;
Log_name Pos Event_type Server_id Orig_log_pos Info
master-bin.001 79 Query 1 79 use `test`; BEGIN
master-bin.001 119 Query 1 79 use `test`; insert into t1 values(16)
master-bin.001 179 Query 1 79 use `test`; insert into t1 values(18)
master-bin.001 239 Query 1 239 use `test`; COMMIT
delete from t1;
delete from t2;
alter table t2 type=MyISAM;
insert into t1 values (1);
begin;
select * from t1 for update;
a
1
select (@before:=unix_timestamp())*0;
(@before:=unix_timestamp())*0
0
begin;
select * from t1 for update;
insert into t2 values (20);
Lock wait timeout exceeded; Try restarting transaction
select (@after:=unix_timestamp())*0;
(@after:=unix_timestamp())*0
0
select (@after-@before) >= 2;
(@after-@before) >= 2
1
drop table t1,t2;
|