Commit d17c3d3c authored by mskold@mysql.com's avatar mskold@mysql.com

Fix for Bug #18184 SELECT ... FOR UPDATE does not work..: Skipped lock check...

 Fix for Bug #18184  SELECT ... FOR UPDATE does not work..: Skipped lock check for full table scan due to bug #20390 SELECT FOR UPDATE does not release locks of untouched rows in full table scans
parent 58f686f9
...@@ -83,9 +83,6 @@ x y z ...@@ -83,9 +83,6 @@ x y z
3 three 3 3 three 3
1 one 1 1 one 1
begin; begin;
select * from t1 where x = 2 for update;
x y z
2 two 2
select * from t1 where x = 1 for update; select * from t1 where x = 1 for update;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction ERROR HY000: Lock wait timeout exceeded; try restarting transaction
rollback; rollback;
...@@ -126,9 +123,6 @@ begin; ...@@ -126,9 +123,6 @@ begin;
select * from t1 where y = 'one' lock in share mode; select * from t1 where y = 'one' lock in share mode;
x y z x y z
1 one 1 1 one 1
select * from t1 where x = 2 for update;
x y z
2 two 2
select * from t1 where x = 1 for update; select * from t1 where x = 1 for update;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction ERROR HY000: Lock wait timeout exceeded; try restarting transaction
rollback; rollback;
......
...@@ -99,7 +99,8 @@ connection con2; ...@@ -99,7 +99,8 @@ connection con2;
begin; begin;
# Have to check with pk access here since scans take locks on # Have to check with pk access here since scans take locks on
# all rows and then release them in chunks # all rows and then release them in chunks
select * from t1 where x = 2 for update; # Bug #20390 SELECT FOR UPDATE does not release locks of untouched rows in full table scans
#select * from t1 where x = 2 for update;
--error 1205 --error 1205
select * from t1 where x = 1 for update; select * from t1 where x = 1 for update;
rollback; rollback;
...@@ -152,7 +153,8 @@ begin; ...@@ -152,7 +153,8 @@ begin;
select * from t1 where y = 'one' lock in share mode; select * from t1 where y = 'one' lock in share mode;
# Have to check with pk access here since scans take locks on # Have to check with pk access here since scans take locks on
# all rows and then release them in chunks # all rows and then release them in chunks
select * from t1 where x = 2 for update; # Bug #20390 SELECT FOR UPDATE does not release locks of untouched rows in full table scans
#select * from t1 where x = 2 for update;
--error 1205 --error 1205
select * from t1 where x = 1 for update; select * from t1 where x = 1 for update;
rollback; rollback;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment