diff options
author | dlenev@brandersnatch.localdomain <> | 2005-04-15 20:31:47 +0400 |
---|---|---|
committer | dlenev@brandersnatch.localdomain <> | 2005-04-15 20:31:47 +0400 |
commit | 6b0b4734d90efd3c98d7f7ad9584f0aa404ba52b (patch) | |
tree | cfeca0850da684db9d6d61780d75e68485f053ec /mysql-test/r/sp-threads.result | |
parent | 32221d9b9e17867e5b2596e7ae36b0aa08dcc6fb (diff) | |
download | mariadb-git-6b0b4734d90efd3c98d7f7ad9584f0aa404ba52b.tar.gz |
Fix for bug #9486 "Can't perform multi-update in stored procedure".
New more SP-locking friendly approach to handling locks in multi-update.
Now we mark all tables of multi-update as needing write lock at parsing
stage and if possible downgrade lock at execution stage (For its work
SP-locking mechanism needs to know all lock types right after parsing
stage).
Diffstat (limited to 'mysql-test/r/sp-threads.result')
-rw-r--r-- | mysql-test/r/sp-threads.result | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/mysql-test/r/sp-threads.result b/mysql-test/r/sp-threads.result index 0bb5c3423e2..a081e520496 100644 --- a/mysql-test/r/sp-threads.result +++ b/mysql-test/r/sp-threads.result @@ -23,3 +23,20 @@ select * from t1; s1 s2 s3 drop table t1; drop procedure bug4934; +drop procedure if exists bug9486; +drop table if exists t1, t2; +create table t1 (id1 int, val int); +create table t2 (id2 int); +create procedure bug9486() +update t1, t2 set val= 1 where id1=id2; +call bug9486(); +lock tables t2 write; + call bug9486(); +show processlist; +Id User Host db Command Time State Info +# root localhost test Sleep # NULL +# root localhost test Query # Locked call bug9486() +# root localhost test Query # NULL show processlist +unlock tables; +drop procedure bug9486; +drop table t1, t2; |