Howard Chu
1adc0b9b1c
Merge remote branch 'origin/mdb.master'
2011-10-04 02:22:01 -07:00
Howard Chu
934a19553c
Don't use Append mode when splits are caused by sub-page inserts
...
Sub-pages need room to grow...
2011-10-03 18:02:17 -07:00
Howard Chu
ea0d07ffa3
Fix freelist bug on page split
...
NULL out env->pghead before writing it, so that its pages can't be used
to satisfy the write.
2011-10-03 12:40:53 -07:00
Howard Chu
7cd16d7b9f
Merge remote branch 'origin/mdb.master'
2011-10-03 11:30:10 -07:00
Howard Chu
85bfb3c1d1
Add rudimentary MDB_MULTIPLE support for puts
...
Only for DUPFIXED DBs. Still could do better.
2011-10-03 11:28:14 -07:00
Howard Chu
02cafebb8e
Merge remote branch 'origin/mdb.master'
2011-10-02 21:28:55 -07:00
Howard Chu
fa3c2945f5
Add MDB_APPEND to avoid splitting full pages
2011-10-02 21:27:07 -07:00
Howard Chu
163514e470
Fix 6e05ca17e9
...
Missed a MDB_RESERVE case
2011-10-02 19:52:12 -07:00
Howard Chu
c2df36c86f
Merge branch 'mdb.master' of ssh://git-master.openldap.org/~git/git/openldap
2011-10-02 19:36:57 -07:00
Howard Chu
28b8aaeb96
Add mdb_cursor_txn() and mdb_cursor_dbi() for querying the cursor
2011-10-02 19:28:33 -07:00
Howard Chu
2dd578221b
Merge branch 'mdb.master' of ssh://git-master.openldap.org/~git/git/openldap
2011-10-02 11:14:53 -07:00
Howard Chu
6e05ca17e9
Add MDB_RESERVE mode
...
When putting a record, just make space for the data, don't copy it.
(Not compatible with MDB_DUPSORT, since the actual data is needed
to determine the insert location.)
2011-10-02 10:02:30 -07:00
Howard Chu
fe11433619
Tweak cursor adjustment code
...
Skip the original cursor that made the change
2011-09-30 22:15:05 -07:00
Howard Chu
8a5d0952ad
ITS#7006 fix MozNSS wildcard cert match
2011-09-30 03:27:19 -07:00
Rich Megginson
8e9af53fb6
ITS#7034 use mutex for connection handshake when using PEM nss
...
PEM nss is not thread safe when establishing the initial connection
using SSL_ForceHandshake. Create a new mutex - tlsm_pem_mutex - to
protect this function call.
The call to SSL_ConfigServerSessionIDCache() is not thread-safe - move it
to the init section and protect it with the init mutex.
2011-09-30 03:16:57 -07:00
Howard Chu
9b082bf716
ITS#7051 fix GNUtls cert dn parse
2011-09-30 00:41:13 -07:00
Howard Chu
19d1e72bbc
Make sure mdb_open actually got a sub-db record
2011-09-29 21:07:07 -07:00
Howard Chu
fa0d64242b
Doc for the MDB_NOSUBDIR env option
2011-09-22 21:46:12 -07:00
Howard Chu
7a40080dd1
Add MDB_NOSUBDIR option
...
Create the data file using exactly the given pathname, and
the lock file using a suffix on the data file name.
2011-09-22 18:05:06 -07:00
Howard Chu
54eb76cc7a
Reader table notes
2011-09-22 04:34:40 -07:00
Howard Chu
4bcaabecf5
assert cleanup
2011-09-21 17:21:48 -07:00
Howard Chu
619e671f1c
txn_abort/commit free all their cursors now.
2011-09-21 16:37:29 -07:00
Howard Chu
9bcc51ef5d
Only free malloc'd cursors
2011-09-21 16:06:52 -07:00
Howard Chu
c8c34cdd43
Merge remote branch 'origin/mdb.master'
2011-09-21 15:58:55 -07:00
Howard Chu
b9d13a29e6
Track changes to all cursors.
...
For any change to a page or node, update all other cursors pointing
at the same page (or node). Cursors are now stored in a linked list
off their owning transaction. Cursors are all closed when the transaction
ends. Cursors in parent transactions are updated when their child
transaction commits.
2011-09-21 15:55:27 -07:00
Howard Chu
c4d5e6e786
Add support for nested transactions.
2011-09-21 12:58:43 -07:00
Hallvard Furuseth
ef7f5f5e32
Cleanup ISO C compatibility for recent commits
2011-09-19 10:31:12 +02:00
Hallvard Furuseth
d9edc7d5af
Merge branch 'mdb.master'
2011-09-19 10:30:30 +02:00
Hallvard Furuseth
8fa10ae668
libmdb IDL cleanup.
...
Microoptimize IDL search.
Use RANGE_<FIRST/LAST> when IDL is known to be a range.
2011-09-19 10:27:49 +02:00
Howard Chu
02abfb91ba
Additional fix for prev commit
2011-09-18 18:26:54 -07:00
Howard Chu
76c6c8e5b7
Merge branch 'mdb.master' of ssh://git-master.openldap.org/~git/git/openldap
2011-09-18 18:14:05 -07:00
Howard Chu
4272e7de4f
Make sure 2 subpages fit in one real page
2011-09-18 18:13:23 -07:00
Howard Chu
001f149654
Merge remote branch 'origin/mdb.master'
2011-09-18 17:08:40 -07:00
Howard Chu
237fabda64
Fix last delete from a subpage
2011-09-18 17:07:47 -07:00
Howard Chu
0ab841598f
Fix 09006ccec7
...
Check for stale DBs was in the wrong place.
2011-09-18 16:39:18 -07:00
Howard Chu
7164c4c662
Merge branch 'mdb.master' of ssh://git-master.openldap.org/~git/git/openldap
2011-09-18 14:28:20 -07:00
Howard Chu
2c70d0430a
Fix mdb_drop() if not deleting the DB record
2011-09-18 14:22:27 -07:00
Howard Chu
77b1017b85
Fix typo, minor cleanup
2011-09-18 14:12:49 -07:00
Howard Chu
e76299c196
Merge remote branch 'origin/mdb.master'
2011-09-18 13:25:09 -07:00
Howard Chu
57b5fbea49
Add mdb_drop() for deleting a DB
...
Allow MIDLs to grow arbitrarily, to allow unlimited number of
pages to be freed in one txn.
2011-09-18 12:37:02 -07:00
Howard Chu
09006ccec7
API change, consistency check
...
mdb_close() takes an env, not a txn.
Also, add check for stale DB records (in case some other process
wrote to the DB last).
2011-09-18 10:48:12 -07:00
Howard Chu
a05cbba77a
Merge branch 'mdb.master' of ssh://git-master.openldap.org/~git/git/openldap
2011-09-17 04:02:52 -07:00
Howard Chu
b7057eb61e
New sorted-dup subpage support
...
Instead of converting directly to a subDB when the first duplicate
item is seen for a key, convert to a subpage instead. Allow the
subpage to grow up to the overflow limit, then convert to a subDB.
This saves a significant amount of space in a typical slapd index
database.
Currently we don't convert back to the smaller form if items are
later deleted. Probably could do that with some hysteresis, e.g.,
convert back from subDB to subpage when the size drops below
(overflow limit/2). Maybe later.
2011-09-17 03:33:07 -07:00
Howard Chu
e1a5177bac
Merge branch 'mdb.master' of ssh://git-master.openldap.org/~git/git/openldap
2011-09-15 10:37:13 -07:00
Howard Chu
0a28548131
Use FNV-1A hash to generate unique mutex names
...
For Windows and MacOSX
2011-09-15 10:36:15 -07:00
Howard Chu
d9a60db75e
Merge remote branch 'origin/mdb.master'
2011-09-14 20:34:27 -07:00
Howard Chu
2c033676ea
Doc tweak - txn flags
2011-09-14 20:33:09 -07:00
Howard Chu
5b7c983a66
MacOSX semaphore names are limited to 31 chars
...
Including the terminating NUL. Good job documenting that, guys.
2011-09-14 20:30:26 -07:00
Howard Chu
8917b774f7
Merge remote branch 'origin/mdb.master'
2011-09-14 11:46:40 -07:00
Howard Chu
0533f80364
Add MacOSX support
...
mmap() with FIXEDMAP fails, otherwise things work.
2011-09-14 11:31:27 -07:00