Commit graph

3526 commits

Author SHA1 Message Date
Howard Chu
f9d41ba98a Merge remote-tracking branch 'origin/mdb.master' 2012-12-03 16:54:33 -08:00
Howard Chu
04b7c42109 Rename mdb_open/close mdb_dbi_open/close
Avoid possible symbol clashes with MDB-Tools libmdb
2012-12-03 16:53:24 -08:00
Howard Chu
e545b742e5 Fix 5c1ee7f7ba
mdb_cursor_sibling() no longer pops cursor before returning.
2012-12-03 13:57:46 -08:00
Howard Chu
5af47adf6b Fix mdb_midl_shrink 2012-12-03 13:57:28 -08:00
Howard Chu
ef3b4213ff Merge remote-tracking branch 'origin/mdb.master' 2012-11-30 12:56:58 -08:00
Howard Chu
d3f51fdcf7 More retries for overflow page scan 2012-11-30 12:54:19 -08:00
Howard Chu
1509d75363 Merge remote-tracking branch 'origin/mdb.master' 2012-11-30 12:47:00 -08:00
Howard Chu
98fe339089 Rename libmdb to liblmdb 2012-11-30 12:45:34 -08:00
Howard Chu
2a94ebced6 Add install target 2012-11-30 12:39:53 -08:00
Howard Chu
d0e86d485d Merge remote-tracking branch 'origin/mdb.master' 2012-11-30 12:33:18 -08:00
Howard Chu
13f3bcd59c Rename libmdb to liblmdb, lmdb.h
Avoid naming conflicts with other mdb* packages. Bump version to 0.9.5
2012-11-30 12:30:51 -08:00
Howard Chu
f165507199 ITS#7455 use freelist for overflow pages 2012-11-30 12:18:27 -08:00
Howard Chu
185136397d Drop unneeded #include <time.h> 2012-11-28 15:34:44 -08:00
Howard Chu
049b145ec7 Doc layout tweaks 2012-11-28 15:34:19 -08:00
Hallvard Furuseth
97ed96206d mdb_env_sync(,force=1): Override MDB_MAPASYNC.
With MDB_MAPASYNC, the API provided no way to ensure full sync.
2012-11-28 00:59:00 +01:00
Hallvard Furuseth
b9275c9991 mdb_cursor_dbi(): Assume valid args.
It returned 0, which is the freelist DBI and is valid for a few uses.
2012-11-28 00:59:00 +01:00
Hallvard Furuseth
7e620a34a2 API change: mdb_drop() only accepts del=0 or 1.
This allows for other flag values in the future.
2012-11-28 00:59:00 +01:00
Hallvard Furuseth
d903bed218 API change: mdb_env_set_maxdbs(, *named* DBs).
Let the user specify the number of databases he will actually
use. Adding 2 for FREE_DBI and MAIN_DBI is an internal matter.
2012-11-28 00:59:00 +01:00
Hallvard Furuseth
6b56e0fab1 ITS#7453 Fix reset of MDB_NOSYNC/MDB_NOMETASYNC.
mdb_env_open() with these flags did not open a synchronizing
file descriptor.  Thus disabling them later did not work.
2012-11-28 00:59:00 +01:00
Hallvard Furuseth
0201b9002c Tweak MDB_FIXEDMAP handling.
Drop mmap()'s MAP_FIXED flag, so it returns another address instead
of unmapping existing overlapping pages. Verify the returned address.
2012-11-28 00:59:00 +01:00
Hallvard Furuseth
52e3adbdec Renumber MDB_NOSUBDIR. Check mdb_env_open() flags.
MDB_NOSUBDIR was == MDB_REVERSEKEY. That affected the freelist:
Env flags are stored in mm_flags alias mm_dbs[FREE_DBI].md_flags.

It stays a persistent flag, in case mdb_env_open someday wants
to pick/verify which lockfile to use with the datafile.

Catch bad flags so they will no longer make it into the data file.
2012-11-28 00:59:00 +01:00
Ralf Haferkamp
c728ebf586 ITS#7428 Use non-blocking IO during SSL Handshake
If a timeout is set, perform the SSL Handshake using non-blocking IO.  This way
we can timeout if SSL Handshake gets stuck for whatever reason.

This code is currently hidden behind #ifdefs (LDAP_USE_NON_BLOCKING_TLS) and
disabled by default as there seem to be some problems using NON-blocking
I/O during the TLS Handshake when linking against NSS (either a bug in NSS
itself of in tls_m.c, see discussion on -devel)

This patch adds an additional parameter to ldap_int_poll() in order to indicate
if we're waiting in order to perform a read or write operation.
2012-11-21 14:25:18 +01:00
Howard Chu
88fd28886d Merge remote-tracking branch 'origin/mdb.master' 2012-11-05 09:47:03 -08:00
Howard Chu
bb36bdcd1c ITS#7432 fix typo in mdb_midl_sort
Wasn't pushing the optimal half of the array onto the stack,
thus used more stack than expected -> overrun.
2012-11-05 05:06:06 -08:00
Howard Chu
64b164b4fc Merge remote-tracking branch 'origin/mdb.master' 2012-10-30 16:34:14 -07:00
Howard Chu
0108327c27 Better fix for MDB_DEBUG tweak -- from hbf 2012-10-25 07:03:25 -07:00
Howard Chu
b68aa3f86b Revert "MDB_DEBUG tweak for old compilers"
This reverts commit ef2092eac9.
2012-10-25 06:54:09 -07:00
Howard Chu
ef2092eac9 MDB_DEBUG tweak for old compilers 2012-10-25 05:28:55 -07:00
Howard Chu
52a0b4f83c Merge remote-tracking branch 'origin/mdb.master' 2012-10-23 04:49:09 -07:00
Howard Chu
c2f15990c7 Fix flag checks in mdb_open 2012-10-23 04:48:04 -07:00
Howard Chu
f5b8d017df fix Windows mdb_env_copy(), WriteFile overflow 2012-10-23 04:32:55 -07:00
Howard Chu
f51efd4b03 Merge remote-tracking branch 'origin/mdb.master' 2012-10-22 17:05:26 -07:00
Howard Chu
66f2b7b2ec Make sure mdb_open flags are committed on main DB
If no data was modified in the txn, mdb_open flag changes were dropped.
2012-10-22 17:03:15 -07:00
Howard Chu
5f2ddb5532 Minor cleanup 2012-10-22 16:13:42 -07:00
Howard Chu
5c1ee7f7ba Fix MDB_PREV
Could return 1 garbage record before actual data, if starting from EOF
2012-10-22 16:02:30 -07:00
Howard Chu
617769bce5 Tweak output, add free page info 2012-10-16 17:01:16 -07:00
Howard Chu
754cd88819 Add mdb_env_info() to retrieve interesting env params 2012-10-16 16:22:21 -07:00
Howard Chu
7f0771a3ed Merge mdb_stata into mdb_stat 2012-10-16 15:37:29 -07:00
Howard Chu
65d40eb5d2 Make sure increases of mapsize are persisted 2012-10-16 14:53:25 -07:00
Hallvard Furuseth
94965307c8 ITS#7377 Errorcheck Windows calls and thread keys. 2012-10-15 17:04:48 +02:00
Hallvard Furuseth
88b7bb4639 Explicitly unlock the MDB lockfile on Windows. 2012-10-15 17:04:43 +02:00
Hallvard Furuseth
e9d87866c4 mdb_env_open(): Keep mdb_env_set_flags() flags. 2012-10-15 17:04:11 +02:00
Hallvard Furuseth
092f9a5c66 More for mdb_env_copy().
Fix #define _GNU_SOURCE = 1 to match any command line -D_GNU_SOURCE.
.gitignore += mdb_copy.
2012-10-15 17:03:46 +02:00
Hallvard Furuseth
462d9dfd10 Fix last commit.
Add flag MDB_ENV_ACTIVE instead of using the state of me_lfd.
Require MDB_RDONLY for MDB_ROFS.  Swap reader/writer mutex lock.
2012-10-15 17:03:33 +02:00
Howard Chu
e40713b631 Support read access on read-only media 2012-10-13 04:05:00 -07:00
Howard Chu
f037dd2d19 Silence warning in prev commit 2012-10-11 16:47:56 -07:00
Howard Chu
ebb6859ea5 Add mdb_copy for backing up a DB environment 2012-10-11 12:24:01 -07:00
Hallvard Furuseth
756ce8e10c Tweak MDB restrictions 2012-10-03 21:13:21 +02:00
Hallvard Furuseth
a3f33dd20e Fix mdb_open() off-by-one error in maxdbs check 2012-10-03 18:08:56 +02:00
Hallvard Furuseth
38fb8e6eb1 ITS#7377 Wrap fcntl F_SETLK in EINTR loop too.
This can happen even on local filesystems.
2012-10-03 18:06:29 +02:00