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).
2014-05-30 09:06:08 +02:00
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
.
2014-05-30 09:06:08 +02:00
Hallvard Furuseth
92c01ffda8
ITS#7771 mdb_cursor_put doc: Cursor moves on error
2014-05-30 09:06:08 +02:00
Hallvard Furuseth
83676dc0f0
Document DBI issues, extend MDB_BAD_VALSIZE.
2014-05-30 09:06:08 +02:00
Hallvard Furuseth
2f33effcdc
More ITS#7793 Check key->mv_size with MDB_CURRENT.
...
Since non-NULL key must be provided now.
2014-05-30 09:06:08 +02:00
Howard Chu
4b9aed26a5
Fix mdb_rebalance collapsing root
...
Shift the rest of the cursor stack as needed
2014-05-20 08:47:28 -07:00
Howard Chu
4844a72d01
ITS#7829 more for mdb_rebalance
...
Make sure to propagate rebalance results all the
way back to original caller's cursor.
2014-04-03 12:51:41 -07:00
Hallvard Furuseth
2764360a7b
ITS#7829 Simplify last commit
2014-04-02 07:02:14 +02:00
Howard Chu
fca18d2586
ITS#7829 more for prev commit
2014-03-31 13:42:19 -07:00
Howard Chu
ac3acc1218
ITS#7829 fix rebalance
...
Fixup cursor state after node_move/page_merge
2014-03-28 13:51:59 -07:00
Howard Chu
13d6d59c51
ITS#7793/7828
...
Fix md_entries count, test for insert on md_entries increment
2014-03-26 08:59:43 -07:00
Howard Chu
6948f9dace
More for ITS#7793/7828
...
Note MDB_CURRENT/MDB_DUPSORT requirement
2014-03-26 02:41:26 -07:00
Howard Chu
f537429b64
ITS#7828, #7793
...
Clarify MDB_CURRENT key usage, simplify freelist_save
2014-03-26 02:35:56 -07:00
Howard Chu
9026894e05
Revert "ITS#7793 mdb_cursor_put(): Fix MDB_CURRENT."
...
This reverts commit 4e954f8ae8
.
Caused ITS#7828.
2014-03-26 02:35:45 -07:00
Hallvard Furuseth
86d9675543
Revert "Update MDB_PANIC description" (thinko).
...
This reverts commit 6bd34d0534
.
2014-03-23 13:06:03 +01:00
Hallvard Furuseth
6bd34d0534
Update MDB_PANIC description
2014-03-22 22:27:10 +01:00
Hallvard Furuseth
1519f4bc3d
Tweak mdb_mid2l_insert() call from ITS#7775.
...
It does not return MDB error codes.
2014-03-22 22:27:10 +01:00
Hallvard Furuseth
2727e97de3
mtest: Accept an MDB_NOTFOUND case
2014-03-16 12:42:43 +01:00
Hallvard Furuseth
68e97b2184
Handle more errors. Invalidate txn if needed.
2014-03-16 12:42:43 +01:00
Hallvard Furuseth
937b5eff07
Don't use non-existent node info in branch/leaf2
2014-03-16 12:42:42 +01:00
Hallvard Furuseth
86f8b203f5
Move code out of mdb_cursor_del0() and mdb_del().
...
Prepares for the next commits.
2014-03-16 12:42:42 +01:00
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.
2014-03-16 12:42:42 +01:00
Hallvard Furuseth
3e7c1bd4e2
mdb_page_list(): Support & display all page types
2014-03-16 12:42:42 +01:00
Hallvard Furuseth
a22c31115f
mdb_txn_renew0(): Fix un-mutexed me_flags update.
...
Replace env flag MDB_LIVE_READER with field me_live_reader.
2014-03-16 12:42:42 +01:00
Hallvard Furuseth
684bb867ce
Doxygen fixes
2014-03-16 12:42:42 +01:00
Howard Chu
4ddf2ec831
Rename samples
...
They're meant to be read and studied, not run.
2014-03-16 03:55:03 -07:00
Howard Chu
797ff136a8
ITS#7815 more for page_split
...
This case didn't come up in testing. Needs finer grained test.
2014-03-05 20:40:12 -08:00
Howard Chu
0e7fba73b7
ITS#7815 fix mdb_page_split
...
Was leaving cursor pointed at wrong page if the newindx was
in the right sibling page, and the parent was also split.
2014-03-05 20:04:42 -08:00
Hallvard Furuseth
e2bdd44624
mtest*.c, sample-*.c: Add/note error checks.
2014-02-19 21:25:40 +01:00
Hallvard Furuseth
a604948993
mtest[46]: Use different DBs when different flags.
2014-02-19 21:25:40 +01:00
Hallvard Furuseth
4e954f8ae8
ITS#7793 mdb_cursor_put(): Fix MDB_CURRENT.
...
Ignore key, broken by 5bda3565a9
and some older code. Document and clarify MDB_CURRENT usage.
Also affects non-MDB_CURRENT put() with empty data and a key
which matches by the mdb_set_compare function but not by memcmp.
2014-01-28 14:27:27 +01:00
Howard Chu
aa3463ec7c
Bump version to 0.9.11
2014-01-15 09:09:48 -08:00
Howard Chu
ec97f49a65
Note changes for LMDB 0.9.11
2014-01-14 17:12:48 -08:00
Hallvard Furuseth
98f3bc88bf
Revert "ITS#7772 Reduce spurious sub-page growth."
...
This reverts commit 75494c08b4
,
which must await a fix to ITS#7771 (DUPSORT cursor tracking).
2014-01-13 20:46:08 +01:00
Howard Chu
3f241365d5
Make sure mapsize changes take effect on Windows.
2014-01-12 20:04:50 -08:00
Hallvard Furuseth
5bda3565a9
ITS#7775 Drop <assert.h>, drop/replace assert()s.
...
db_mid2l_insert(): Move assert to mdb.c.
mdb_cursor_set(): Previous assert cannot fail now.
mdb_cursor_put(): Check mc/key and return EINVAL.
mdb_cursor_dbi(): No error return, so just segfault if cursor==NULL.
2014-01-06 23:21:54 +01:00
Howard Chu
6fb561d33e
ITS#7775 Cleanup mdb_node_del()
2014-01-06 23:21:44 +01:00
Hallvard Furuseth
88342f9661
ITS#7775 Add mdb_env_set_assert()
2014-01-06 23:17:38 +01:00
Hallvard Furuseth
e40dae1064
Add mdb_env_<set,get>_userctx()
2014-01-06 23:17:38 +01:00
Hallvard Furuseth
c99525f42a
ITS#7377 Invalidate txn on page-allocation errors
...
This should likely be reverted when all callers handle these errors.
2014-01-06 23:17:37 +01:00
Hallvard Furuseth
123b6e3c3e
Wrap __func__ in mdb_func_
2014-01-05 16:37:26 +01:00
Hallvard Furuseth
21621cc741
Invalidate the txn on corruption/internal errors
2014-01-05 16:26:21 +01:00
Howard Chu
c48cdd7a16
ITS#7775 cleanup unnecessary assert()s
2014-01-03 12:40:28 -08:00
Hallvard Furuseth
1f191ba930
mdb_page_malloc(): Move VGMEMP_ALLOC before memset
2013-12-31 02:16:19 +01:00
Hallvard Furuseth
ce2a0d4016
ITS#7771 mdb_cursor_del0(): Fix xcursor tracking.
2013-12-29 15:58:21 +01:00
Hallvard Furuseth
5adc46d1d2
sprintf format: pid_t need not be an int.
2013-12-29 15:57:33 +01:00
Hallvard Furuseth
661dd2c66d
Add mdb_dbg_pgno(): (sub)pagenum for debug output.
2013-12-29 15:09:51 +01:00
Hallvard Furuseth
75494c08b4
ITS#7772 Reduce spurious sub-page growth.
...
mdb_cursor_put(): Use free sub-page space added by a
previous put(existing DUPSORT item), if any.
Tweak NUMKEYS code to avoid a new signedness warning.
2013-12-29 15:09:05 +01:00
Hallvard Furuseth
46de4ab84c
ITS#7665 Drop lmdb.h doc on non-overlapping flags.
...
It was inaccurate and misplaced. Verify it in mdb.c instead.
2013-12-29 14:54:17 +01:00
Hallvard Furuseth
353cc77cff
ITS#7515 has been fixed.
2013-12-29 14:52:30 +01:00