Howard Chu
dc83777ab9
Minor tweaks, update relfunc behavior
13 years ago
Howard Chu
25529a4c36
More cursor_init cleanup
13 years ago
Howard Chu
8acb755034
One more sub-cursor fix
13 years ago
Howard Chu
3501248548
Fix 2e3bc39fa9
...
Various mistakes when converting from previous data structures.
Add a few more debug asserts/sanity checks.
Split all "if (foo) return" constructs to separate lines to allow
easier breakpoint setting.
Add mtest6 for checking mdb_split() behavior. This needs to be
expanded to check rebalance/merge cases too.
13 years ago
Hallvard Furuseth
946b38f471
Fix mdb debug formats
13 years ago
Hallvard Furuseth
ed0fc55fd3
Restore missing LAZY_LOCKS semicolon.
...
Lost in C90 compat commit c5dad7a6d0
.
13 years ago
Hallvard Furuseth
90ed553301
mdb integer type cleanup: Use MDB_dbi consistently.
...
This changes the prototype of mdb_env_set_maxdbs().
13 years ago
Hallvard Furuseth
b56be64d2e
Drop ULONG in favor of size_t.
13 years ago
Hallvard Furuseth
b1cfff4aeb
Add mdb.c:txnid_t for readability.
...
Maybe later we'll test txnid wraparound with it defined to ushort.
13 years ago
Hallvard Furuseth
bf9d722bec
mdb type cleanup: Consistent reader count types.
...
Use unsigned int for reader counts/max limits, that's the smallest
change. Don't need uint32_t when mdb_env_set_maxreaders() takes less.
Change prototypes of mdb_env_set_maxreaders,mdb_env_get_maxreaders().
Check the mdb_env_set_maxreaders() argument.
13 years ago
Hallvard Furuseth
2d1f3b7ed3
Fix memn(r)cmp of key sizes > INT_MAX. Simplify.
13 years ago
Hallvard Furuseth
69e53cf700
Check some mdb integer type assumptions
13 years ago
Hallvard Furuseth
88da18cccf
Put MDB_node.<mn_lo,mn_hi> in host byte order.
13 years ago
Hallvard Furuseth
c5dad7a6d0
C90 compatibility cleanup in mdb.
...
Fix void* pointer arithmetic in cintcmp().
Fix invalid ';'s in declarations after possibly-empty macros.
13 years ago
Hallvard Furuseth
3dc8fa491a
Cleanup mdb macros.
...
Parenthesize. Rename GetPageSize -> GET_PAGESIZE since it does not
behave like a function (it has a non-pointer output argument).
13 years ago
Howard Chu
acdc248f57
If put(NOOVERWRITE) exists, return existing data
13 years ago
Howard Chu
a7edb95e64
Minor typos, additional clarification
13 years ago
Howard Chu
0c487538cf
Partial revert, fix MDB_page definition
13 years ago
Howard Chu
9ac8638d9d
More docs
13 years ago
Howard Chu
bed3123b82
More docs
13 years ago
Howard Chu
1b69295a48
Speedup cintcmp
...
Now that we know we're always 2-byte aligned...
13 years ago
Howard Chu
dac3fae3b5
Fix previous commit
13 years ago
Howard Chu
2e3bc39fa9
Further cursor-based restructuring
...
Get rid of all of the redundant MDB_*page structs and other cruft.
13 years ago
Howard Chu
976a150973
Cleanup unused code
13 years ago
Howard Chu
1f8c3369b9
Fix mdb_move_node again
13 years ago
Howard Chu
f9c8796d0b
Fix search_node, add cintcmp
13 years ago
Howard Chu
5e6a864513
Guarantee nodes are 2-byte aligned
...
Also fix xcursor_init1 md_dirty flag
Also another mdb_cmp refactoring fix
13 years ago
Howard Chu
293df78b2b
Change MDB_node to depend on 2-byte alignment
13 years ago
Howard Chu
807841b1aa
Fix for mdb_cmp refactoring
13 years ago
Howard Chu
963c421a97
Minor cleanup
13 years ago
Howard Chu
2cde97ae94
Use mdb_midl_append/sort instead of _insert
13 years ago
Howard Chu
70a4f6f29d
mdb_cmp refactoring
13 years ago
Howard Chu
7bb14a2e79
Cursor stuff working, no major perf gain
13 years ago
Howard Chu
1843fe0b53
Cursors in-progress, broken
13 years ago
Howard Chu
8d89a53165
Use cursor->mc_flags
13 years ago
Howard Chu
7f46832ec5
Begin reimplementing basic ops as cursor ops
13 years ago
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
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