bmatsuo / lmdb-go

Bindings for the LMDB C library
BSD 3-Clause "New" or "Revised" License
158 stars 59 forks source link

lmdb: Update transactions share C-allocated C.MDB_val objects #102

Closed bmatsuo closed 7 years ago

bmatsuo commented 7 years ago

Update transactions must execute exclusively and it is OK for these transactions to share two C.MDB_val object that are alive for entire existence of the Env object.

View transactions cannot use these C.MDB_val objects because they may execute concurrently with other View transactions or an Update transaction.