Howard Chu
d9423e13f8
More cleanup for page_merge, page_loosen
...
Only loosen src page if it's actually dirty.
Refactor page refs in page_merge.
11 years ago
Howard Chu
cf331ccb3d
Silence ptr arithmetic warnings
11 years ago
Howard Chu
7cab7b95e2
Handle loose pages
...
Pages that were dirtied and deleted in the same txn should be
reused, instead of consuming freeDB pages.
11 years ago
Howard Chu
eebbd22c2f
Fix mdb_page_merge
...
Similar to prev commit for mdb_node_move, the call of
mdb_page_serch_lowest() was leaving csrc unusable.
11 years ago
Howard Chu
79e8462d74
Fix mdb_node_move
...
Was leaving stale info in dst cursor
11 years ago
Howard Chu
0d013609fe
Fix lineno count
11 years ago
Howard Chu
c05f45b7dd
Fix multiple subDBs
11 years ago
Howard Chu
1a72b19e26
Fix unhex
11 years ago
Howard Chu
21b51cb746
Add mdb_load
11 years ago
Howard Chu
3e83b5b27b
Add mdb_dump, update copyrights
11 years ago
Howard Chu
59d30a49c3
Bump to 0.9.13
11 years ago
Howard Chu
0c041e0977
Bump to 0.9.13
11 years ago
Hallvard Furuseth
b898cb642a
ITS#7793 Re-fix MDB_CURRENT doc: Match current item
11 years ago
Hallvard Furuseth
01a75c5ab5
Fix MDB_GET_MULTIPLE/MDB_NEXT_MULTIPLE doc.
11 years ago
Howard Chu
39ed8bef04
Tweak ovpage search
...
Use num*20, chosen from empirical testing
11 years ago
Howard Chu
b4ecbd78d9
Fix some overwrite quirks
...
Was skipping the overwrite in some cases, if the cmp function
said the new and old already matched. We should always perform
the overwrite anyway, since the cmp function may only be doing
a prefix compare and the data may actually be different.
11 years ago
Howard Chu
dc7f2530dd
Tweak prev patch for ovpage search
11 years ago
Howard Chu
2db55c7d99
Shorten search for ovpage space
11 years ago
Howard Chu
ecb71ee197
Bump version to 0.9.12
11 years ago
Howard Chu
17c09fa476
ITS#7875 fix #7681 regression
...
Due to commit 18a07eb7c2
11 years ago
Alexey Naumov
a93810cc3d
Fix possible crash in DLL_THREAD_DETACH (explodes in .Net Framework)
11 years ago
Hallvard Furuseth
c0d64cf182
Comment ~MDB_APPEND, from earlier commit message.
11 years ago
Hallvard Furuseth
cb5656c726
Factor out mdb_cmp_clong()
11 years ago
Hallvard Furuseth
64a02e2279
More for big MDB_MAXKEYSIZE with MDB_DUPSORT.
...
With mdb_cursor_put(new key, data item big enough to need a sub-DB):
- Track cursors as when adding other nodes. The "!do_sub" is now
unneeded. Before ITS#7861 it distinguished inserting key from data.
- Set MDB_TXN_ERROR if an empty sub-DB was created. I.e. adding
key:subDB succeeded, but inserting the data item failed.
11 years ago
Hallvard Furuseth
b37b2a651f
Factor out MDB_TXN_ERROR
11 years ago
Hallvard Furuseth
ba8f59edf4
Simplify MDB_MULTIPLE
11 years ago
Hallvard Furuseth
ac158c7e1e
ITS#7834 Fix MDB_MULTIPLE writing multiple keys.
...
Update the state before looping, so the key is not duplicated.
Broke in 4c8f57615c
(mostly).
11 years ago
Hallvard Furuseth
d170df58fb
ITS#7861 Re-fix MDB_db.md_entries.
...
mdb_cursor_del(): Fix md_entries with MDB_NODUPDATA.
mdb_cursor_put(): Check in xcursor whether an item got inserted. Count
data instead of keys after 13d6d59c51
.
11 years ago
Hallvard Furuseth
92c01ffda8
ITS#7771 mdb_cursor_put doc: Cursor moves on error
11 years ago
Hallvard Furuseth
83676dc0f0
Document DBI issues, extend MDB_BAD_VALSIZE.
11 years ago
Hallvard Furuseth
2f33effcdc
More ITS#7793 Check key->mv_size with MDB_CURRENT.
...
Since non-NULL key must be provided now.
11 years ago
Howard Chu
4b9aed26a5
Fix mdb_rebalance collapsing root
...
Shift the rest of the cursor stack as needed
11 years ago
Howard Chu
4844a72d01
ITS#7829 more for mdb_rebalance
...
Make sure to propagate rebalance results all the
way back to original caller's cursor.
11 years ago
Hallvard Furuseth
2764360a7b
ITS#7829 Simplify last commit
11 years ago
Howard Chu
fca18d2586
ITS#7829 more for prev commit
11 years ago
Howard Chu
ac3acc1218
ITS#7829 fix rebalance
...
Fixup cursor state after node_move/page_merge
11 years ago
Howard Chu
13d6d59c51
ITS#7793/7828
...
Fix md_entries count, test for insert on md_entries increment
11 years ago
Howard Chu
6948f9dace
More for ITS#7793/7828
...
Note MDB_CURRENT/MDB_DUPSORT requirement
11 years ago
Howard Chu
f537429b64
ITS#7828, #7793
...
Clarify MDB_CURRENT key usage, simplify freelist_save
11 years ago
Howard Chu
9026894e05
Revert "ITS#7793 mdb_cursor_put(): Fix MDB_CURRENT."
...
This reverts commit 4e954f8ae8
.
Caused ITS#7828.
11 years ago
Hallvard Furuseth
86d9675543
Revert "Update MDB_PANIC description" (thinko).
...
This reverts commit 6bd34d0534
.
11 years ago
Hallvard Furuseth
6bd34d0534
Update MDB_PANIC description
11 years ago
Hallvard Furuseth
1519f4bc3d
Tweak mdb_mid2l_insert() call from ITS#7775.
...
It does not return MDB error codes.
11 years ago
Hallvard Furuseth
2727e97de3
mtest: Accept an MDB_NOTFOUND case
11 years ago
Hallvard Furuseth
68e97b2184
Handle more errors. Invalidate txn if needed.
11 years ago
Hallvard Furuseth
937b5eff07
Don't use non-existent node info in branch/leaf2
11 years ago
Hallvard Furuseth
86f8b203f5
Move code out of mdb_cursor_del0() and mdb_del().
...
Prepares for the next commits.
11 years ago
Hallvard Furuseth
012d7b5de7
More checks for closed DBIs and invalidated txns.
...
Factor txn/DBI-checks out to TXN_DBI_EXIST().
mdb_audit(): Skip closed DBIs.
mdb_cursor_renew(), mdb_stat(): Check DBI and txn.
mdb_cursor_count(): Check txn.
mdb_dbi_flags(): Check DBI.
11 years ago
Hallvard Furuseth
3e7c1bd4e2
mdb_page_list(): Support & display all page types
11 years ago
Hallvard Furuseth
a22c31115f
mdb_txn_renew0(): Fix un-mutexed me_flags update.
...
Replace env flag MDB_LIVE_READER with field me_live_reader.
11 years ago