https://bugs.openldap.org/show_bug.cgi?id=10138

--- Comment #2 from kero <[email protected]> ---
Sorry, my explanation was not clear enough. What [the documentation says][1] is
that having multiple transactions on the same thread is forbidden and that a
transaction must only be used on a single thread.

> A transaction and its cursors must only be used by a single thread, and a 
> thread may only have a single transaction at a time. If #MDB_NOTLS is in use, 
> this does not apply to read-only transactions.

I want to create multiple read transactions on different threads to read the
uncommitted changes in parallel. I will not modify the entries while reading
them. I want to read in parallel, like I can on the committed changes but on
the uncommitted changes.

Once all the read transactions are done, I close them and insert new entries
into the database using the original, still uncommitted, write transaction.
Then, commit it, and the changes will be visible from an external point of
view.

I understand that the read transactions start with the committed root node and
can't see the uncommitted new root. Is it an issue to use the uncommitted root
as the baseline of the reads?

[1]:
https://github.com/LMDB/lmdb/blob/mdb.master/libraries/liblmdb/lmdb.h#L982-L984

-- 
You are receiving this mail because:
You are on the CC list for the issue.

Reply via email to