On Monday, January 25, 2016 03:49 AM, Howard Chu wrote:
HLaw wrote:
>
>
> On Sunday, January 24, 2016 07:44 PM, Howard Chu wrote:
>> hhclaw.eb(a)gmail.com wrote:
>>> Full_Name: H Law
>>> Version: LMDB
>>> OS: Linux
>>> URL:
>>> Submission from: (NULL) (42.2.241.129)
>>>
>>>
>>> It seems that, after using a cursor delete during a cursor
>>> traversal on a dup
>>> sort database, the cursor is in a strange state, when MDB_NEXT /
>>> MDB_NEXT_DUP
>>> ceases to work properly while MDB_PREV / MDB_PREV_DUP still
>>> functions.
>>
>> Thanks for the report. Fixed now in git.
>>
> Thank you. It now works except for the case when the deleted record
> is just
> before the end of the database.
> In this case the next call to cursor get with MDB_NEXT / MDB_NEXT_DUP
> will
> still hang the program, instead of returning not found (or other
> errors). (It
> seems to be stuck at some wait state without heavy cpu usage).
Your test program is broken, you are trying to create a new write txn
in the same thread as an existing write txn.
Yes, thanks, works after fixing that. Sorry for bothering.