On 2020-12-02, at 22:53:58, Howard Chu hyc@symas.com wrote:
James Anderson wrote:
the mdb_env_open documentation includes in its note about NOTLS, that
A read-only transaction may span threads if the user synchronizes its use.
to which read-only operations would this constraint apply?
It depends.
The only safe approach is to ensure that a txn is not active simultaneously in multiple threads.
where “active” includes read-only cursors?
does mean, either one constrains the threads such that there can be no parallel access to the database, or each thread must establish its own transaction, in which case there is no guarantee that they operate om the same database state?
mdb_cursor_open and mdb_cursor_close look as if they modify transaction state for write transactions only.
best regards, from berlin
-- -- Howard Chu CTO, Symas Corp. http://www.symas.com Director, Highland Sun http://highlandsun.com/hyc/ Chief Architect, OpenLDAP http://www.openldap.org/project/