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
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
5e3a3db1f2
Error cleanup
...
Replace MDB_FAIL with more specific codes
Return MDB_PANIC after failure to write meta page
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
f9f0ec92a9
Add mdb_version()
13 years ago
Howard Chu
76d7ca8ce0
Rationalize mdbenv namespace
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
b070f7bff9
Portability tweak
13 years ago
Howard Chu
920115f747
Sorted dup fixes
13 years ago
Howard Chu
ce9456d95c
Add MDB_INTEGERKEY db flag
13 years ago
Howard Chu
d499c244cd
Allow setting DB flags on main DB
13 years ago
Howard Chu
2f7ddb4103
Cleanup, add mdb_cursor_count()
13 years ago
Howard Chu
2e776bd36e
More DB checks
13 years ago
Howard Chu
b834dc05b3
Consolidate stat functions
13 years ago
Howard Chu
11204d176a
Header cleanup
13 years ago
Howard Chu
40df306d52
More subDB fixes
13 years ago
Howard Chu
39817f6e85
Parameter cleanup
13 years ago
Howard Chu
819d98169e
Valgrind complaints
13 years ago
Howard Chu
01c2f7816f
More subDB stuff
13 years ago
Howard Chu
2fe9fbd1a3
Make sure subDB info is saved after writes
13 years ago