Howard Chu
f6edbd7793
Add MDB_{FIRST,LAST}_DUP for cursor_get
13 years ago
Howard Chu
9d821c26c3
Fix mdb_split, fix MDB_GET_BOTH
13 years ago
Howard Chu
e91dae3ed5
Cleanup midl, start documenting internals
13 years ago
Howard Chu
b30d0266e7
Tweak docs
13 years ago
Howard Chu
30736a0ff5
Ugly-as-sin initial Windows port
13 years ago
Howard Chu
2510bea718
API cleanup, doxygen docs for public API
13 years ago
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.
13 years ago
Howard Chu
f7aa0d5e4a
Tweak locks, fix race conditions
13 years ago
Howard Chu
d27a7754f3
Reduce excessive memcpy in mdb_split
13 years ago
Howard Chu
027e1daa10
Fix mdb_split, tweak split_indx if space is tight
13 years ago
Howard Chu
01b9fc59fb
Fix update of big data items
13 years ago
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
13 years ago
Howard Chu
94718fab00
More debug, fix MDB_DEL_DUP
13 years ago
Howard Chu
ee69051a7c
More debug output
13 years ago
Howard Chu
d54eb7dd81
Add txn_reset / txn_renew
13 years ago
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.
13 years ago
Howard Chu
720c4b0a3d
Set MINKEYS to 2
...
For better space utilization
13 years ago
Howard Chu
66a647e55d
Keep re-using dpages instead of freeing them
13 years ago
Hallvard B Furuseth
ca496bd357
Avoid cast-away-const for errstr[]
13 years ago
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.
13 years ago
Hallvard B Furuseth
cb7c955220
Simplify: Replace IDL*_CMP() with CMP()
13 years ago
Hallvard B Furuseth
3029bb694d
Macro cleanup: Parenthesize, simplify, remove a ;
13 years ago
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.
13 years ago
Howard Chu
8f77043372
Fix cursor_set for dups
...
Also make sure dups are counted in md_entries
13 years ago
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.
13 years ago
Howard Chu
e15d4d16b6
Don't alloc in cursor_push/pop
13 years ago
Howard Chu
1ceae5c2c0
Fix multi-page commits
13 years ago
Howard Chu
6d924c1dda
Fix overflow page read
13 years ago
Howard Chu
3dd815162c
Sub-DB init/dirty fixes
13 years ago
Howard Chu
11308a190d
Fix dupsort fetch
13 years ago
Howard Chu
697e00a8e2
More txn/cursor cleanup
13 years ago
Howard Chu
e29660566c
Update DB tables on commit even if no dirty pages
13 years ago
Howard Chu
bab6be8077
Add mdb_strerror(), mdb_env_set_flags()
13 years ago
Howard Chu
9902a7764e
allow silent commit of read-only TXNs
13 years ago
Howard Chu
9860d5a43f
Protect err codes
13 years ago
Howard Chu
5e3a3db1f2
Error cleanup
...
Replace MDB_FAIL with more specific codes
Return MDB_PANIC after failure to write meta page
13 years ago
Howard Chu
5ef6c43acf
Get rid of AC_MEMCPY
13 years ago
Howard Chu
1aa5105b67
Use IDL2 for dirty page list
13 years ago
Howard Chu
88a5f35c43
Use O_DSYNC on metafd.
...
Use sync writes in mtest.
13 years ago
Howard Chu
3e1c72a08e
Minor cleanup
13 years ago
Howard Chu
19f5eebff8
Better defs for locker structures
13 years ago
Howard Chu
af0b49aa60
Silence stupid warning
13 years ago
Howard Chu
f9f0ec92a9
Add mdb_version()
13 years ago
Howard Chu
76d7ca8ce0
Rationalize mdbenv namespace
13 years ago
Howard Chu
c378b2525c
Move MDB_VERSION to mdb.h, use major/minor/patch
13 years ago
Howard Chu
af70c0d9ce
Tweak MDB_val to match struct berval
13 years ago
Howard Chu
985f765dc5
Rename idl to midl
13 years ago
Howard Chu
f5297dfc25
Add another FIXME comment
13 years ago
Howard Chu
35fca0f6af
Add mtest2 and 3
13 years ago
Howard Chu
b070f7bff9
Portability tweak
13 years ago