"Ken Wenzel" kenwenzel@gmx.net schrieb am 31.01.2022 um 08:16 in Nachricht
002001d81672$866fdb30$934f9190$@gmx.net:
Hello,
I like to implement an autogrow functionality for LMDB.
The documentation for mdb_env_set_mapsize says that no transactions should be active when using this function.
When looking at the code I can see that the function only checks if there is an active WRITE transaction and in this case it returns an error.
Probably a classic example of underspecification: The developers reserve the right to change details later. Obviously when mdb_ebv_set_mapsize does not relocate any blocks all tranbsactions should be able to continue, but as it seems, blocks may be reallocated during or after mdb_ebv_set_mapsize.
Regards, Ulrich
Is it possible to reuse existing READ transactions or even associated cursors after mdb_env_set_mapsize has been called?
Thank you and best regards,
Ken