]> git.sur5r.net Git - openldap/blobdiff - libraries/liblmdb/lmdb.h
Merge remote-tracking branch 'origin/mdb.RE/0.9' into OPENLDAP_REL_ENG_2_4
[openldap] / libraries / liblmdb / lmdb.h
index fa7d62c57aa7e1625b099544de456bf830cf10b8..0855da8e46e0f8553717d2d9dcc95ce482042cb7 100644 (file)
@@ -40,6 +40,9 @@
  *     corrupt the database. Of course if your application code is known to
  *     be bug-free (...) then this is not an issue.
  *
+ *     If this is your first time using a transactional embedded key/value
+ *     store, you may find the \ref starting page to be helpful.
+ *
  *     @section caveats_sec Caveats
  *     Troubleshooting the lock file, plus semaphores on BSD systems:
  *
@@ -191,7 +194,7 @@ typedef int mdb_filehandle_t;
 /** Library minor version */
 #define MDB_VERSION_MINOR      9
 /** Library patch version */
-#define MDB_VERSION_PATCH      17
+#define MDB_VERSION_PATCH      18
 
 /** Combine args a,b,c into a single integer for easy version comparisons */
 #define MDB_VERINT(a,b,c)      (((a) << 24) | ((b) << 16) | (c))
@@ -201,7 +204,7 @@ typedef int mdb_filehandle_t;
        MDB_VERINT(MDB_VERSION_MAJOR,MDB_VERSION_MINOR,MDB_VERSION_PATCH)
 
 /** The release date of this library version */
-#define MDB_VERSION_DATE       "November 30, 2015"
+#define MDB_VERSION_DATE       "December 19, 2015"
 
 /** A stringifier for the version info */
 #define MDB_VERSTR(a,b,c,d)    "LMDB " #a "." #b "." #c ": (" d ")"
@@ -526,9 +529,11 @@ int  mdb_env_create(MDB_env **env);
         *              allowed. LMDB will still modify the lock file - except on read-only
         *              filesystems, where LMDB does not use locks.
         *      <li>#MDB_WRITEMAP
-        *              Use a writeable memory map unless MDB_RDONLY is set. This is faster
-        *              and uses fewer mallocs, but loses protection from application bugs
+        *              Use a writeable memory map unless MDB_RDONLY is set. This uses
+        *              fewer mallocs but loses protection from application bugs
         *              like wild pointer writes and other bad updates into the database.
+        *              This may be slightly faster for DBs that fit entirely in RAM, but
+        *              is slower for DBs larger than RAM.
         *              Incompatible with nested transactions.
         *              Do not mix processes with and without MDB_WRITEMAP on the same
         *              environment.  This can defeat durability (#mdb_env_sync etc).
@@ -1455,7 +1460,8 @@ int  mdb_cursor_get(MDB_cursor *cursor, MDB_val *key, MDB_val *data,
         *              the database supports duplicates (#MDB_DUPSORT).
         *      <li>#MDB_RESERVE - reserve space for data of the given size, but
         *              don't copy the given data. Instead, return a pointer to the
-        *              reserved space, which the caller can fill in later. This saves
+        *              reserved space, which the caller can fill in later - before
+        *              the next update operation or the transaction ends. This saves
         *              an extra memcpy if the data is being generated later. This flag
         *              must not be specified if the database was opened with #MDB_DUPSORT.
         *      <li>#MDB_APPEND - append the given key/data pair to the end of the