diff --git a/mysql-test/suite/tokudb.locks/r/blocking-row-locks-writewrite-conflict.result b/mysql-test/suite/tokudb.locks/r/blocking-row-locks-writewrite-conflict.result index 117bfb67fbd..95bef7122a6 100644 --- a/mysql-test/suite/tokudb.locks/r/blocking-row-locks-writewrite-conflict.result +++ b/mysql-test/suite/tokudb.locks/r/blocking-row-locks-writewrite-conflict.result @@ -682,6 +682,14 @@ begin; select * from t where a=1 for update; a b 1 100 +select * from t where a=1 for update; +commit; +a b +1 100 +begin; +select * from t where a=1 for update; +a b +1 100 update t set b=b where a=1; ERROR HY000: Lock wait timeout exceeded; try restarting transaction update t set b=b where a=2; @@ -701,6 +709,12 @@ begin; select * from t where a=1 for update; a b 1 100 +update t set b=b where a=1; +commit; +begin; +select * from t where a=1 for update; +a b +1 100 insert ignore t values(1, 100); ERROR HY000: Lock wait timeout exceeded; try restarting transaction insert ignore t values(2, 100); @@ -720,6 +734,12 @@ begin; select * from t where a=1 for update; a b 1 100 +insert ignore t values(1, 175); +commit; +begin; +select * from t where a=1 for update; +a b +1 100 replace t values(1, 100); ERROR HY000: Lock wait timeout exceeded; try restarting transaction replace t values(2, 100); @@ -739,6 +759,12 @@ begin; select * from t where a=1 for update; a b 1 100 +replace t values(1, 175); +commit; +begin; +select * from t where a=1 for update; +a b +1 175 select * from t where a<=2 for update; ERROR HY000: Lock wait timeout exceeded; try restarting transaction select * from t where a>=0 for update; @@ -752,11 +778,11 @@ a b commit; select * from t where a<=2 for update; a b -1 100 +1 175 2 100 select * from t where a>=0 for update; a b -1 100 +1 175 2 100 3 100 4 100 @@ -764,7 +790,7 @@ a b 6 36 select * from t; a b -1 100 +1 175 2 100 3 100 4 100 @@ -773,7 +799,16 @@ a b begin; select * from t where a=1 for update; a b -1 100 +1 175 +select * from t where a<=2 for update; +commit; +a b +1 175 +2 100 +begin; +select * from t where a=1 for update; +a b +1 175 update t set b=b where a<=2; ERROR HY000: Lock wait timeout exceeded; try restarting transaction update t set b=b where a>=0; @@ -784,13 +819,19 @@ update t set b=b where a<=2; update t set b=b where a>=0; select * from t; a b -1 100 +1 175 2 100 3 100 4 100 5 25 6 36 begin; +select * from t where a=1 for update; +a b +1 175 +update t set b=b where a<=2; +commit; +begin; update t set b=b where a=1; select * from t where a=1 for update; ERROR HY000: Lock wait timeout exceeded; try restarting transaction @@ -806,10 +847,10 @@ a b commit; select * from t where a=1 for update; a b -1 100 +1 175 select * from t; a b -1 100 +1 175 2 100 3 100 4 100 @@ -817,6 +858,12 @@ a b 6 36 begin; update t set b=b where a=1; +select * from t where a=1 for update; +commit; +a b +1 175 +begin; +update t set b=b where a=1; update t set b=b where a=1; ERROR HY000: Lock wait timeout exceeded; try restarting transaction update t set b=b where a=2; @@ -826,7 +873,7 @@ commit; update t set b=b where a=1; select * from t; a b -1 100 +1 175 2 100 3 100 4 100 @@ -834,6 +881,10 @@ a b 6 36 begin; update t set b=b where a=1; +update t set b=b where a=1; +commit; +begin; +update t set b=b where a=1; insert ignore t values(1, 100); ERROR HY000: Lock wait timeout exceeded; try restarting transaction insert ignore t values(2, 100); @@ -843,7 +894,7 @@ commit; insert ignore t values(1, 100); select * from t; a b -1 100 +1 175 2 100 3 100 4 100 @@ -851,6 +902,10 @@ a b 6 36 begin; update t set b=b where a=1; +insert ignore t values(1, 175); +commit; +begin; +update t set b=b where a=1; replace t values(1, 100); ERROR HY000: Lock wait timeout exceeded; try restarting transaction replace t values(2, 100); @@ -868,6 +923,10 @@ a b 6 36 begin; update t set b=b where a=1; +replace t values(1, 175); +commit; +begin; +update t set b=b where a=1; select * from t where a<=2 for update; ERROR HY000: Lock wait timeout exceeded; try restarting transaction select * from t where a>=0 for update; @@ -881,11 +940,11 @@ a b commit; select * from t where a<=2 for update; a b -1 100 +1 175 2 100 select * from t where a>=0 for update; a b -1 100 +1 175 2 100 3 100 4 100 @@ -893,7 +952,7 @@ a b 6 36 select * from t; a b -1 100 +1 175 2 100 3 100 4 100 @@ -901,6 +960,13 @@ a b 6 36 begin; update t set b=b where a=1; +select * from t where a<=2 for update; +commit; +a b +1 175 +2 100 +begin; +update t set b=b where a=1; update t set b=b where a<=2; ERROR HY000: Lock wait timeout exceeded; try restarting transaction update t set b=b where a>=0; @@ -911,13 +977,17 @@ update t set b=b where a<=2; update t set b=b where a>=0; select * from t; a b -1 100 +1 175 2 100 3 100 4 100 5 25 6 36 begin; +update t set b=b where a=1; +update t set b=b where a<=2; +commit; +begin; insert ignore t values(1, 100); select * from t where a=1 for update; ERROR HY000: Lock wait timeout exceeded; try restarting transaction @@ -933,16 +1003,22 @@ a b commit; select * from t where a=1 for update; a b -1 100 +1 175 select * from t; a b -1 100 +1 175 2 100 3 100 4 100 5 25 6 36 begin; +insert ignore t values(1, 150); +select * from t where a=1 for update; +commit; +a b +1 175 +begin; insert ignore t values(1, 100); update t set b=b where a=1; ERROR HY000: Lock wait timeout exceeded; try restarting transaction @@ -953,13 +1029,17 @@ commit; update t set b=b where a=1; select * from t; a b -1 100 +1 175 2 100 3 100 4 100 5 25 6 36 begin; +insert ignore t values(1, 150); +update t set b=b where a=1; +commit; +begin; insert ignore t values(1, 100); insert ignore t values(1, 100); ERROR HY000: Lock wait timeout exceeded; try restarting transaction @@ -970,13 +1050,17 @@ commit; insert ignore t values(1, 100); select * from t; a b -1 100 +1 175 2 100 3 100 4 100 5 25 6 36 begin; +insert ignore t values(1, 150); +insert ignore t values(1, 175); +commit; +begin; insert ignore t values(1, 100); replace t values(1, 100); ERROR HY000: Lock wait timeout exceeded; try restarting transaction @@ -994,6 +1078,10 @@ a b 5 25 6 36 begin; +insert ignore t values(1, 150); +replace t values(1, 175); +commit; +begin; insert ignore t values(1, 100); select * from t where a<=2 for update; ERROR HY000: Lock wait timeout exceeded; try restarting transaction @@ -1008,11 +1096,11 @@ a b commit; select * from t where a<=2 for update; a b -1 100 +1 175 2 100 select * from t where a>=0 for update; a b -1 100 +1 175 2 100 3 100 4 100 @@ -1020,13 +1108,20 @@ a b 6 36 select * from t; a b -1 100 +1 175 2 100 3 100 4 100 5 25 6 36 begin; +insert ignore t values(1, 150); +select * from t where a<=2 for update; +commit; +a b +1 175 +2 100 +begin; insert ignore t values(1, 100); update t set b=b where a<=2; ERROR HY000: Lock wait timeout exceeded; try restarting transaction @@ -1038,13 +1133,17 @@ update t set b=b where a<=2; update t set b=b where a>=0; select * from t; a b -1 100 +1 175 2 100 3 100 4 100 5 25 6 36 begin; +insert ignore t values(1, 150); +update t set b=b where a<=2; +commit; +begin; replace t values(1, 100); select * from t where a=1 for update; ERROR HY000: Lock wait timeout exceeded; try restarting transaction @@ -1070,6 +1169,12 @@ a b 5 25 6 36 begin; +replace t values(1, 150); +select * from t where a=1 for update; +commit; +a b +1 150 +begin; replace t values(1, 100); update t set b=b where a=1; ERROR HY000: Lock wait timeout exceeded; try restarting transaction @@ -1087,6 +1192,10 @@ a b 5 25 6 36 begin; +replace t values(1, 150); +update t set b=b where a=1; +commit; +begin; replace t values(1, 100); insert ignore t values(1, 100); ERROR HY000: Lock wait timeout exceeded; try restarting transaction @@ -1104,6 +1213,10 @@ a b 5 25 6 36 begin; +replace t values(1, 150); +insert ignore t values(1, 175); +commit; +begin; replace t values(1, 100); replace t values(1, 100); ERROR HY000: Lock wait timeout exceeded; try restarting transaction @@ -1121,6 +1234,10 @@ a b 5 25 6 36 begin; +replace t values(1, 150); +replace t values(1, 175); +commit; +begin; replace t values(1, 100); select * from t where a<=2 for update; ERROR HY000: Lock wait timeout exceeded; try restarting transaction @@ -1154,6 +1271,13 @@ a b 5 25 6 36 begin; +replace t values(1, 150); +select * from t where a<=2 for update; +commit; +a b +1 150 +2 100 +begin; replace t values(1, 100); update t set b=b where a<=2; ERROR HY000: Lock wait timeout exceeded; try restarting transaction @@ -1172,6 +1296,10 @@ a b 5 25 6 36 begin; +replace t values(1, 150); +update t set b=b where a<=2; +commit; +begin; select * from t where a>=2 and a<=4 for update; a b 2 100 @@ -1190,7 +1318,7 @@ a b commit; select * from t where a>=0 and a<=3 for update; a b -1 100 +1 150 2 100 3 100 select * from t where a>=3 and a<=6 for update; @@ -1201,11 +1329,11 @@ a b 6 36 select * from t where a<=2 for update; a b -1 100 +1 150 2 100 select * from t; a b -1 100 +1 150 2 100 3 100 4 100 @@ -1217,6 +1345,18 @@ a b 2 100 3 100 4 100 +select * from t where a>=0 and a<=3 for update; +commit; +a b +1 150 +2 100 +3 100 +begin; +select * from t where a>=2 and a<=4 for update; +a b +2 100 +3 100 +4 100 update t set b=b where a>=0 and a<=3; ERROR HY000: Lock wait timeout exceeded; try restarting transaction update t set b=b where a>=3 and a<=6; @@ -1230,13 +1370,21 @@ update t set b=b where a>=3 and a<=6; update t set b=b where a<=2; select * from t; a b -1 100 +1 150 2 100 3 100 4 100 5 25 6 36 begin; +select * from t where a>=2 and a<=4 for update; +a b +2 100 +3 100 +4 100 +update t set b=b where a>=0 and a<=3; +commit; +begin; update t set b=b where a>=2 and a<=4; select * from t where a>=0 and a<=3 for update; ERROR HY000: Lock wait timeout exceeded; try restarting transaction @@ -1251,7 +1399,7 @@ a b commit; select * from t where a>=0 and a<=3 for update; a b -1 100 +1 150 2 100 3 100 select * from t where a>=3 and a<=6 for update; @@ -1262,11 +1410,11 @@ a b 6 36 select * from t where a<=2 for update; a b -1 100 +1 150 2 100 select * from t; a b -1 100 +1 150 2 100 3 100 4 100 @@ -1274,6 +1422,14 @@ a b 6 36 begin; update t set b=b where a>=2 and a<=4; +select * from t where a>=0 and a<=3 for update; +commit; +a b +1 150 +2 100 +3 100 +begin; +update t set b=b where a>=2 and a<=4; update t set b=b where a>=0 and a<=3; ERROR HY000: Lock wait timeout exceeded; try restarting transaction update t set b=b where a>=3 and a<=6; @@ -1287,11 +1443,15 @@ update t set b=b where a>=3 and a<=6; update t set b=b where a<=2; select * from t; a b -1 100 +1 150 2 100 3 100 4 100 5 25 6 36 +begin; +update t set b=b where a>=2 and a<=4; +update t set b=b where a>=0 and a<=3; +commit; drop table t; set global tokudb_lock_timeout=30000000;