Howard Chu
e5b1dce6a7
Debug helper for index
2011-09-05 15:23:08 -07:00
Howard Chu
ffdf3d7afb
Merge remote branch 'mdb/mdb.master'
2011-09-05 15:19:41 -07:00
Howard Chu
963c421a97
Minor cleanup
2011-09-05 14:22:46 -07:00
Hallvard Furuseth
a316851494
back-mdb/Makefile.in += variable MDB_SUBDIR.
...
For compiling against a checkout of the stand-alone libmdb,
which has a branch 'mdb.master' with its own root:
git clone --branch=mdb.master <openldap_repo_dir> mdb
set_mdb="MDB_SUBDIR=`pwd`/mdb/libraries/libmdb"
... maybe modify mdb repository for testing ...
cd <openldap_repo_dir>; make $set_mdb
2011-09-05 21:10:04 +02:00
Howard Chu
a4d0cde2d3
Fix from key_change consolidation
2011-09-05 03:52:38 -07:00
Howard Chu
e44d4cf06a
Use mdb_midl_append/sort instead of _insert
2011-09-05 02:37:43 -07:00
Howard Chu
2cde97ae94
Use mdb_midl_append/sort instead of _insert
2011-09-05 02:36:24 -07:00
Howard Chu
7afc68c0ec
Cursor updates
2011-09-05 01:27:16 -07:00
Howard Chu
221be39208
mdb_cmp refactoring
2011-09-05 01:19:24 -07:00
Howard Chu
0609aa45b3
Reimplement basic ops as cursor ops
2011-09-05 01:19:24 -07:00
Howard Chu
23790cf390
Add MDB_{FIRST,LAST}_DUP for cursor_get
2011-09-05 01:17:13 -07:00
Howard Chu
9cfbea8e8f
Cleanup midl, start documenting internals
2011-09-05 01:16:44 -07:00
Howard Chu
0f679e9386
Tweak docs
2011-09-05 01:16:33 -07:00
Howard Chu
70a4f6f29d
mdb_cmp refactoring
2011-09-05 00:46:32 -07:00
Howard Chu
7bb14a2e79
Cursor stuff working, no major perf gain
2011-09-04 21:33:57 -07:00
Howard Chu
1843fe0b53
Cursors in-progress, broken
2011-09-04 21:33:57 -07:00
Howard Chu
8d89a53165
Use cursor->mc_flags
2011-09-04 21:33:57 -07:00
Howard Chu
7f46832ec5
Begin reimplementing basic ops as cursor ops
2011-09-04 21:33:57 -07:00
Howard Chu
f6edbd7793
Add MDB_{FIRST,LAST}_DUP for cursor_get
2011-09-04 21:33:57 -07:00
Howard Chu
2197928aaa
Fix mdb_split, fix MDB_GET_BOTH
2011-09-03 20:12:09 -07:00
Howard Chu
9d821c26c3
Fix mdb_split, fix MDB_GET_BOTH
2011-09-03 20:11:07 -07:00
Howard Chu
e91dae3ed5
Cleanup midl, start documenting internals
2011-09-03 14:27:07 -07:00
Howard Chu
d38ef26425
Fix conversion of IDL to range
2011-09-03 13:09:19 -07:00
Howard Chu
f7a0fc9f8b
Fix log parsing, broken by 8d74f71
2011-09-02 13:22:41 -07:00
Howard Chu
b30d0266e7
Tweak docs
2011-09-02 01:09:11 -07:00
Howard Chu
0e4412de20
Tests updates for mdb
2011-09-01 17:03:57 -07:00
Howard Chu
df81345337
Add MDB support to configure and test framework.
...
Does not update the tests themselves.
In configure --help, call it "mdb database backend" instead of something
with "memory-mapped" which could confuse somebody about a memory-only DB.
Conflicts:
servers/slapd/back-mdb/Makefile.in
2011-09-01 17:00:26 -07:00
Howard Chu
0ba4206ed9
Import back-mdb
2011-09-01 17:00:26 -07:00
Howard Chu
02cff39398
Merge remote branch 'mdb4/master'
2011-09-01 16:50:26 -07:00
Howard Chu
30736a0ff5
Ugly-as-sin initial Windows port
2011-09-01 16:31:10 -07:00
Howard Chu
2510bea718
API cleanup, doxygen docs for public API
2011-09-01 16:31:10 -07:00
Howard Chu
0f459dd773
Cleanup, fix freelist alloc
...
Don't allow new pages for free list to come from the free list.
Otherwise a nasty data self-reference occurs that is too much
trouble to unwind.
2011-09-01 16:31:10 -07:00
Howard Chu
f7aa0d5e4a
Tweak locks, fix race conditions
2011-09-01 16:31:10 -07:00
Howard Chu
d27a7754f3
Reduce excessive memcpy in mdb_split
2011-09-01 16:31:10 -07:00
Howard Chu
027e1daa10
Fix mdb_split, tweak split_indx if space is tight
2011-09-01 16:31:10 -07:00
Howard Chu
01b9fc59fb
Fix update of big data items
2011-09-01 16:31:10 -07:00
Howard Chu
13c663f666
Fix free page reclaim and dbs table update
...
Can re-use free pages 1 txn earlier
Must update all dbs tables on txn commit
2011-09-01 16:31:10 -07:00
Howard Chu
94718fab00
More debug, fix MDB_DEL_DUP
2011-09-01 16:31:10 -07:00
Howard Chu
ee69051a7c
More debug output
2011-09-01 16:31:10 -07:00
Howard Chu
d54eb7dd81
Add txn_reset / txn_renew
2011-09-01 16:31:10 -07:00
Howard Chu
590c728044
First cut at DUPFIXED support
...
Also in cursor_set, check the current page (if already set from
before) before starting over again from the root.
2011-09-01 16:31:10 -07:00
Howard Chu
720c4b0a3d
Set MINKEYS to 2
...
For better space utilization
2011-09-01 16:31:10 -07:00
Howard Chu
66a647e55d
Keep re-using dpages instead of freeing them
2011-09-01 16:31:10 -07:00
Hallvard B Furuseth
ca496bd357
Avoid cast-away-const for errstr[]
2011-09-01 16:31:10 -07:00
Hallvard B Furuseth
5b3b522313
Wrap O_DSYNC in MDB_DSYNC.
...
If O_DSYNC is not defined, that may be due to poor compiler options.
We could fall back to the less efficient O_SYNC, but it seems better
to let the user learn of the problem and give better compiler options.
2011-09-01 16:31:10 -07:00
Hallvard B Furuseth
cb7c955220
Simplify: Replace IDL*_CMP() with CMP()
2011-09-01 16:31:10 -07:00
Hallvard B Furuseth
3029bb694d
Macro cleanup: Parenthesize, simplify, remove a ;
2011-09-01 16:31:10 -07:00
Hallvard B Furuseth
a1b4144b80
Drop gcc extension ,##__VA_ARGS__. Add DPUTS().
...
C99 says DPRINTF(fmt, ...) must get at least 2 args. Using DPUTS for 1 arg.
2011-09-01 16:31:10 -07:00
Howard Chu
8f77043372
Fix cursor_set for dups
...
Also make sure dups are counted in md_entries
2011-09-01 16:31:10 -07:00
Howard Chu
edf9d8e51b
Sorted dups fix
...
Write the first datum normally. Convert to a sub-db if
additional items for the same key are written.
2011-09-01 16:31:10 -07:00