From e6ab2dfdf3c6bb2a516abb4ddbcafeb1a1791601 Mon Sep 17 00:00:00 2001 From: Riccardo Spagni Date: Thu, 16 Jul 2015 11:33:10 +0200 Subject: updated in-source lmdb --- external/db_drivers/liblmdb64/CHANGES | 17 +++- external/db_drivers/liblmdb64/lmdb.h | 38 +++++---- external/db_drivers/liblmdb64/mdb.c | 118 +++++++++++++++++++-------- external/db_drivers/liblmdb64/mtest.c | 18 ++-- external/db_drivers/liblmdb64/mtest2.c | 17 ++-- external/db_drivers/liblmdb64/mtest3.c | 12 +-- external/db_drivers/liblmdb64/mtest4.c | 12 +-- external/db_drivers/liblmdb64/mtest5.c | 12 +-- external/db_drivers/liblmdb64/mtest6.c | 18 ++-- external/db_drivers/liblmdb64/sample-mdb.txt | 4 +- 10 files changed, 171 insertions(+), 95 deletions(-) diff --git a/external/db_drivers/liblmdb64/CHANGES b/external/db_drivers/liblmdb64/CHANGES index cf12f2eeb..957742e75 100644 --- a/external/db_drivers/liblmdb64/CHANGES +++ b/external/db_drivers/liblmdb64/CHANGES @@ -1,18 +1,31 @@ LMDB 0.9 Change Log -LMDB 0.9.15 Release Engineering +LMDB 0.9.15 Release (2015/06/19) Fix txn init (ITS#7961,#7987) Fix MDB_PREV_DUP (ITS#7955,#7671) Fix compact of empty env (ITS#7956) + Fix mdb_copy file mode + Fix mdb_env_close() after failed mdb_env_open() + Fix mdb_rebalance collapsing root (ITS#8062) Fix mdb_load with large values (ITS#8066) + Fix to retry writes on EINTR (ITS#8106) + Fix mdb_cursor_del on empty DB (ITS#8109) + Fix MDB_INTEGERDUP key compare (ITS#8117) + Fix error handling (ITS#7959,#8157,etc.) + Fix race conditions (ITS#7969,7970) Added workaround for fdatasync bug in ext3fs Build Don't use -fPIC for static lib Update .gitignore (ITS#7952,#7953) - Cleanup for "make test" (ITS#7841) + Cleanup for "make test" (ITS#7841), "make clean", mtest*.c Misc. Android/Windows cleanup Documentation Fix MDB_APPEND doc + Fix MDB_MAXKEYSIZE doc (ITS#8156) + Fix mdb_cursor_put,mdb_cursor_del EACCES description + Fix mdb_env_sync(MDB_RDONLY env) doc (ITS#8021) + Clarify MDB_WRITEMAP doc (ITS#8021) + Clarify mdb_env_open doc Clarify mdb_dbi_open doc LMDB 0.9.14 Release (2014/09/20) diff --git a/external/db_drivers/liblmdb64/lmdb.h b/external/db_drivers/liblmdb64/lmdb.h index 117f16ea3..2f523579c 100644 --- a/external/db_drivers/liblmdb64/lmdb.h +++ b/external/db_drivers/liblmdb64/lmdb.h @@ -184,7 +184,7 @@ typedef int mdb_filehandle_t; /** Library minor version */ #define MDB_VERSION_MINOR 9 /** Library patch version */ -#define MDB_VERSION_PATCH 14 +#define MDB_VERSION_PATCH 15 /** Combine args a,b,c into a single integer for easy version comparisons */ #define MDB_VERINT(a,b,c) (((a) << 24) | ((b) << 16) | (c)) @@ -194,7 +194,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 "September 20, 2014" +#define MDB_VERSION_DATE "June 19, 2015" /** A stringifier for the version info */ #define MDB_VERSTR(a,b,c,d) "LMDB " #a "." #b "." #c ": (" d ")" @@ -296,12 +296,12 @@ typedef void (MDB_rel_func)(MDB_val *item, void *oldptr, void *newptr, void *rel #define MDB_REVERSEKEY 0x02 /** use sorted duplicates */ #define MDB_DUPSORT 0x04 - /** numeric keys in native byte order. + /** numeric keys in native byte order: either unsigned int or size_t. * The keys must all be of the same size. */ #define MDB_INTEGERKEY 0x08 /** with #MDB_DUPSORT, sorted dup items have fixed size */ #define MDB_DUPFIXED 0x10 - /** with #MDB_DUPSORT, dups are numeric in native byte order */ + /** with #MDB_DUPSORT, dups are #MDB_INTEGERKEY-style integers */ #define MDB_INTEGERDUP 0x20 /** with #MDB_DUPSORT, use reverse string dups */ #define MDB_REVERSEDUP 0x40 @@ -588,8 +588,8 @@ int mdb_env_create(MDB_env **env); * reserved in that case. * This flag may be changed at any time using #mdb_env_set_flags(). * - * @param[in] mode The UNIX permissions to set on created files. This parameter - * is ignored on Windows. + * @param[in] mode The UNIX permissions to set on created files and semaphores. + * This parameter is ignored on Windows. * @return A non-zero error value on failure and 0 on success. Some possible * errors are: *