LevelDB storage engine (MDEV-3841)

[MDEV-4039] LevelDB: SELECT .. FOR UPDATE locks a row outside of transaction and prevents UPDATE from the same connection Created: 2013-01-14  Updated: 2013-01-15  Resolved: 2013-01-15

Status: Closed
Project: MariaDB Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Technical task Priority: Major
Reporter: Elena Stepanova Assignee: Sergei Petrunia
Resolution: Duplicate Votes: 0
Labels: leveldb

Issue Links:
Relates

 Description   

SELECT .. FOR UPDATE is supposed to lock a row for the current connection, not from it as it happens now.
Besides, outside a transaction it should have no effect at all, but now it does.
The test case below shows both problems – UPDATE fails with ER_LOCK_WAIT_TIMEOUT.

create table t1 (pk int primary key, i int) engine=LevelDB;
set autocommit=1;
insert into t1 values (1,1);
select * from t1 where pk = 1 for update;
update t1 set i = 10 where pk = 1;

mysqltest: At line 8: query 'update t1 set i = 10 where pk = 1' failed: 1205: Lock wait timeout exceeded; try restarting transaction

revision-id: psergey@askmonty.org-20130114131529-qv3531bw9fdklwob
revno: 4483
branch-nick: mysql-5.6-leveldb



 Comments   
Comment by Sergei Petrunia [ 2013-01-15 ]

Duplicate of MDEV-4047

Generated at Thu Feb 08 06:53:15 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.