Open erthink opened 3 years ago
Thanks 😊 I've been using those terms in my code for a while, but I hadn't proposed them for libmdbx because I figured you'd want to stay consistent with LMDB.
unclear why need special term "snapshot"? why "read transaction" is not enough?
When learning LMDB I initially found "transaction" confusing for a read-only mode, especially since it's required for any access to keys/values.
Also, my wrapper has an OO API, with regular transactions a subclass of read-only ones, and I always find it a bad sign when a base class name is an extension of a subclass name.
For what it's worth, I adopted @snej 's terminology for the Ruby bindings. Coming from ZFS systems, "snapshot" feels the perfect term for its behavior.
Historically libmdbx uses the terminology (i.e. environment, database, sub-database, DBI, etc) inherited from the LMDB. However, the terms suggested by @snej seem to me so much more successful and appropriate.