Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Lukas However
OpenLDAP
Commits
cdfc9dc8
Commit
cdfc9dc8
authored
Dec 28, 2016
by
Howard Chu
Browse files
Merge remote-tracking branch 'origin/mdb.RE/0.9'
parents
e3c8beb8
14cff072
Changes
6
Expand all
Hide whitespace changes
Inline
Side-by-side
libraries/liblmdb/CHANGES
View file @
cdfc9dc8
LMDB 0.9 Change Log
LMDB 0.9.19 Release
Engineering
LMDB 0.9.19 Release
(2016/12/28)
Fix mdb_env_cwalk cursor init (ITS#8424)
Fix robust mutexes on Solaris 10/11 (ITS#8339)
Tweak Win32 error message buffer
...
...
@@ -8,6 +8,20 @@ LMDB 0.9.19 Release Engineering
Optimize mdb_drop
Fix xcursors after mdb_cursor_del (ITS#8406)
Fix MDB_NEXT_DUP after mdb_cursor_del (ITS#8412)
Fix mdb_cursor_put resetting C_EOF (ITS#8489)
Fix mdb_env_copyfd2 to return EPIPE on SIGPIPE (ITS#8504)
Fix mdb_env_copy with empty DB (ITS#8209)
Fix behaviors with fork (ITS#8505)
Fix mdb_dbi_open with mainDB cursors (ITS#8542)
Fix robust mutexes on kFreeBSD (ITS#8554)
Fix utf8_to_utf16 error checks (ITS#7992)
Fix F_NOCACHE on MacOS, error is non-fatal (ITS#7682)
Build
Make shared lib suffix overridable (ITS#8481)
Documentation
Cleanup doxygen nits
Note reserved vs actual mem/disk usage
LMDB 0.9.18 Release (2016/02/05)
Fix robust mutex detection on glibc 2.10-11 (ITS#8330)
...
...
libraries/liblmdb/Doxyfile
View file @
cdfc9dc8
...
...
@@ -253,7 +253,7 @@ IDL_PROPERTY_SUPPORT = YES
# member in the group (if any) for the other members of the group. By default
# all members of a group must be documented explicitly.
DISTRIBUTE_GROUP_DOC =
NO
DISTRIBUTE_GROUP_DOC =
YES
# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
# the same type (for instance a group of public functions) to be put as a
...
...
libraries/liblmdb/Makefile
View file @
cdfc9dc8
...
...
@@ -26,6 +26,7 @@ OPT = -O2 -g
CFLAGS
=
$(THREADS)
$(OPT)
$(W)
$(XCFLAGS)
LDLIBS
=
SOLIBS
=
SOEXT
=
.so
prefix
=
/usr/local
exec_prefix
=
$(prefix)
bindir
=
$(exec_prefix)
/bin
...
...
@@ -37,7 +38,7 @@ mandir = $(datarootdir)/man
########################################################################
IHDRS
=
lmdb.h
ILIBS
=
liblmdb.a liblmdb
.so
ILIBS
=
liblmdb.a liblmdb
$(SOEXT)
IPROGS
=
mdb_stat mdb_copy mdb_dump mdb_load
IDOCS
=
mdb_stat.1 mdb_copy.1 mdb_dump.1 mdb_load.1
PROGS
=
$(IPROGS)
mtest mtest2 mtest3 mtest4 mtest5
...
...
@@ -63,7 +64,7 @@ test: all
liblmdb.a
:
mdb.o midl.o
$(AR)
rs
$@
mdb.o midl.o
liblmdb
.so
:
mdb.lo midl.lo
liblmdb
$(SOEXT)
:
mdb.lo midl.lo
# $(CC) $(LDFLAGS) -pthread -shared -Wl,-Bsymbolic -o $@ mdb.o midl.o $(SOLIBS)
$(CC)
$(LDFLAGS)
-pthread
-shared
-o
$@
mdb.lo
midl.lo
$(SOLIBS)
...
...
libraries/liblmdb/lmdb.h
View file @
cdfc9dc8
...
...
@@ -77,6 +77,11 @@
* access to locks and lock file. Exceptions: On read-only filesystems
* or with the #MDB_NOLOCK flag described under #mdb_env_open().
*
* - An LMDB configuration will often reserve considerable \b unused
* memory address space and maybe file size for future growth.
* This does not use actual memory or disk space, but users may need
* to understand the difference so they won't be scared off.
*
* - By default, in versions before 0.9.10, unused portions of the data
* file might receive garbage data from memory freed by other code.
* (This does not happen when using the #MDB_WRITEMAP flag.) As of
...
...
@@ -91,11 +96,12 @@
* transactions. Each transaction belongs to one thread. See below.
* The #MDB_NOTLS flag changes this for read-only transactions.
*
* - Use an MDB_env* in the process which opened it,
without
fork()
ing
.
* - Use an MDB_env* in the process which opened it,
not after
fork().
*
* - Do not have open an LMDB database twice in the same process at
* the same time. Not even from a plain open() call - close()ing it
* breaks flock() advisory locking.
* breaks fcntl() advisory locking. (It is OK to reopen it after
* fork() - exec*(), since the lockfile has FD_CLOEXEC set.)
*
* - Avoid long-lived transactions. Read transactions prevent
* reuse of pages freed by newer write transactions, thus the
...
...
@@ -194,7 +200,7 @@ typedef int mdb_filehandle_t;
/** Library minor version */
#define MDB_VERSION_MINOR 9
/** Library patch version */
#define MDB_VERSION_PATCH 1
8
#define MDB_VERSION_PATCH 1
9
/** Combine args a,b,c into a single integer for easy version comparisons */
#define MDB_VERINT(a,b,c) (((a) << 24) | ((b) << 16) | (c))
...
...
@@ -204,7 +210,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 "
February 5
, 2016"
#define MDB_VERSION_DATE "
December 28
, 2016"
/** A stringifier for the version info */
#define MDB_VERSTR(a,b,c,d) "LMDB " #a "." #b "." #c ": (" d ")"
...
...
@@ -383,7 +389,9 @@ typedef enum MDB_cursor_op {
MDB_PREV_NODUP
,
/**< Position at last data item of previous key */
MDB_SET
,
/**< Position at specified key */
MDB_SET_KEY
,
/**< Position at specified key, return key + data */
MDB_SET_RANGE
/**< Position at first key greater than or equal to specified key. */
MDB_SET_RANGE
,
/**< Position at first key greater than or equal to specified key. */
MDB_PREV_MULTIPLE
/**< Position at previous page and return key and up to
a page of duplicate data items. Only for #MDB_DUPFIXED */
}
MDB_cursor_op
;
/** @defgroup errors Return Codes
...
...
@@ -672,6 +680,7 @@ int mdb_env_copyfd(MDB_env *env, mdb_filehandle_t fd);
* <li>#MDB_CP_COMPACT - Perform compaction while copying: omit free
* pages and sequentially renumber all pages in output. This option
* consumes more CPU and runs more slowly than the default.
* Currently it fails if the environment has suffered a page leak.
* </ul>
* @return A non-zero error value on failure and 0 on success.
*/
...
...
@@ -786,6 +795,10 @@ int mdb_env_get_flags(MDB_env *env, unsigned int *flags);
int
mdb_env_get_path
(
MDB_env
*
env
,
const
char
**
path
);
/** @brief Return the filedescriptor for the given environment.
*
* This function may be called after fork(), so the descriptor can be
* closed before exec*(). Other LMDB file descriptors have FD_CLOEXEC.
* (Until LMDB 0.9.18, only the lockfile had that.)
*
* @param[in] env An environment handle returned by #mdb_env_create()
* @param[out] fd Address of a mdb_filehandle_t to contain the descriptor.
...
...
@@ -1090,8 +1103,9 @@ int mdb_txn_renew(MDB_txn *txn);
* This flag may only be used in combination with #MDB_DUPSORT. This option
* tells the library that the data items for this database are all the same
* size, which allows further optimizations in storage and retrieval. When
* all data items are the same size, the #MDB_GET_MULTIPLE and #MDB_NEXT_MULTIPLE
* cursor operations may be used to retrieve multiple items at once.
* all data items are the same size, the #MDB_GET_MULTIPLE, #MDB_NEXT_MULTIPLE
* and #MDB_PREV_MULTIPLE cursor operations may be used to retrieve multiple
* items at once.
* <li>#MDB_INTEGERDUP
* This option specifies that duplicate data items are binary integers,
* similar to #MDB_INTEGERKEY keys.
...
...
libraries/liblmdb/mdb.c
View file @
cdfc9dc8
This diff is collapsed.
Click to expand it.
libraries/liblmdb/mdb_copy.1
View file @
cdfc9dc8
...
...
@@ -36,6 +36,7 @@ Write the library version number to the standard output, and exit.
Compact while copying. Only current data pages will be copied; freed
or unused pages will be omitted from the copy. This option will
slow down the backup process as it is more CPU-intensive.
Currently it fails if the environment has suffered a page leak.
.TP
.BR \-n
Open LDMB environment(s) which do not use subdirectories.
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment