]> git.sur5r.net Git - openldap/log
openldap
9 years agoAdd mdb_load
Howard Chu [Fri, 20 Jun 2014 15:49:59 +0000 (08:49 -0700)]
Add mdb_load

9 years agoAdd mdb_dump, update copyrights
Howard Chu [Fri, 20 Jun 2014 12:33:31 +0000 (05:33 -0700)]
Add mdb_dump, update copyrights

9 years agoBump to 0.9.13
Howard Chu [Wed, 18 Jun 2014 21:25:46 +0000 (14:25 -0700)]
Bump to 0.9.13

9 years agoBump to 0.9.13
Howard Chu [Wed, 18 Jun 2014 21:07:15 +0000 (14:07 -0700)]
Bump to 0.9.13

9 years agoITS#7793 Re-fix MDB_CURRENT doc: Match current item
Hallvard Furuseth [Wed, 18 Jun 2014 21:01:14 +0000 (23:01 +0200)]
ITS#7793 Re-fix MDB_CURRENT doc: Match current item

9 years agoFix MDB_GET_MULTIPLE/MDB_NEXT_MULTIPLE doc.
Hallvard Furuseth [Wed, 18 Jun 2014 21:01:14 +0000 (23:01 +0200)]
Fix MDB_GET_MULTIPLE/MDB_NEXT_MULTIPLE doc.

9 years agoTweak ovpage search
Howard Chu [Wed, 18 Jun 2014 20:37:04 +0000 (13:37 -0700)]
Tweak ovpage search

Use num*20, chosen from empirical testing

9 years agoFix some overwrite quirks
Howard Chu [Wed, 18 Jun 2014 19:29:13 +0000 (12:29 -0700)]
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.

9 years agoTweak prev patch for ovpage search
Howard Chu [Wed, 18 Jun 2014 16:07:39 +0000 (09:07 -0700)]
Tweak prev patch for ovpage search

9 years agoShorten search for ovpage space
Howard Chu [Wed, 18 Jun 2014 10:02:08 +0000 (03:02 -0700)]
Shorten search for ovpage space

9 years agoRemove bogus file
Howard Chu [Wed, 18 Jun 2014 09:53:17 +0000 (02:53 -0700)]
Remove bogus file

added by mistake in 17c09fa476a7dbd49aca5e4caf0384cb1c3d244a

9 years agoBump version to 0.9.12
Howard Chu [Fri, 13 Jun 2014 17:46:27 +0000 (10:46 -0700)]
Bump version to 0.9.12

9 years agoITS#7875 fix #7681 regression
Howard Chu [Wed, 11 Jun 2014 09:27:30 +0000 (02:27 -0700)]
ITS#7875 fix #7681 regression

Due to commit 18a07eb7c2dc33372455a6040984cd6b699b41a5

9 years agoFix possible crash in DLL_THREAD_DETACH (explodes in .Net Framework)
Alexey Naumov [Sun, 25 May 2014 11:10:21 +0000 (17:10 +0600)]
Fix possible crash in DLL_THREAD_DETACH (explodes in .Net Framework)

9 years agoComment ~MDB_APPEND, from earlier commit message.
Hallvard Furuseth [Fri, 30 May 2014 08:50:04 +0000 (10:50 +0200)]
Comment ~MDB_APPEND, from earlier commit message.

9 years agoFactor out mdb_cmp_clong()
Hallvard Furuseth [Fri, 30 May 2014 08:47:56 +0000 (10:47 +0200)]
Factor out mdb_cmp_clong()

9 years agoMore for big MDB_MAXKEYSIZE with MDB_DUPSORT.
Hallvard Furuseth [Fri, 30 May 2014 08:47:56 +0000 (10:47 +0200)]
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.

9 years agoFactor out MDB_TXN_ERROR
Hallvard Furuseth [Fri, 30 May 2014 07:06:08 +0000 (09:06 +0200)]
Factor out MDB_TXN_ERROR

9 years agoSimplify MDB_MULTIPLE
Hallvard Furuseth [Fri, 30 May 2014 07:06:08 +0000 (09:06 +0200)]
Simplify MDB_MULTIPLE

9 years agoITS#7834 Fix MDB_MULTIPLE writing multiple keys.
Hallvard Furuseth [Fri, 30 May 2014 07:06:08 +0000 (09:06 +0200)]
ITS#7834 Fix MDB_MULTIPLE writing multiple keys.

Update the state before looping, so the key is not duplicated.
Broke in 4c8f57615c5ca7b014c038e59c1045182e74f5ad (mostly).

9 years agoITS#7861 Re-fix MDB_db.md_entries.
Hallvard Furuseth [Fri, 30 May 2014 07:06:08 +0000 (09:06 +0200)]
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 13d6d59c512065db3741c20c65b4d9928b986968.

9 years agoITS#7771 mdb_cursor_put doc: Cursor moves on error
Hallvard Furuseth [Fri, 30 May 2014 07:06:08 +0000 (09:06 +0200)]
ITS#7771 mdb_cursor_put doc: Cursor moves on error

9 years agoDocument DBI issues, extend MDB_BAD_VALSIZE.
Hallvard Furuseth [Fri, 30 May 2014 07:06:08 +0000 (09:06 +0200)]
Document DBI issues, extend MDB_BAD_VALSIZE.

9 years agoMore ITS#7793 Check key->mv_size with MDB_CURRENT.
Hallvard Furuseth [Fri, 30 May 2014 07:06:08 +0000 (09:06 +0200)]
More ITS#7793 Check key->mv_size with MDB_CURRENT.

Since non-NULL key must be provided now.

9 years agoFix mdb_rebalance collapsing root
Howard Chu [Tue, 20 May 2014 15:47:28 +0000 (08:47 -0700)]
Fix mdb_rebalance collapsing root

Shift the rest of the cursor stack as needed

10 years agoITS#7829 more for mdb_rebalance
Howard Chu [Thu, 3 Apr 2014 19:51:41 +0000 (12:51 -0700)]
ITS#7829 more for mdb_rebalance

Make sure to propagate rebalance results all the
way back to original caller's cursor.

10 years agoITS#7829 Simplify last commit
Hallvard Furuseth [Wed, 2 Apr 2014 05:02:14 +0000 (07:02 +0200)]
ITS#7829 Simplify last commit

10 years agoITS#7829 more for prev commit
Howard Chu [Mon, 31 Mar 2014 20:42:19 +0000 (13:42 -0700)]
ITS#7829 more for prev commit

10 years agoITS#7829 fix rebalance
Howard Chu [Fri, 28 Mar 2014 20:51:59 +0000 (13:51 -0700)]
ITS#7829 fix rebalance

Fixup cursor state after node_move/page_merge

10 years agoITS#7793/7828
Howard Chu [Wed, 26 Mar 2014 15:59:43 +0000 (08:59 -0700)]
ITS#7793/7828

Fix md_entries count, test for insert on md_entries increment

10 years agoMore for ITS#7793/7828
Howard Chu [Wed, 26 Mar 2014 09:41:26 +0000 (02:41 -0700)]
More for ITS#7793/7828

Note MDB_CURRENT/MDB_DUPSORT requirement

10 years agoITS#7828, #7793
Howard Chu [Wed, 26 Mar 2014 09:33:51 +0000 (02:33 -0700)]
ITS#7828, #7793

Clarify MDB_CURRENT key usage, simplify freelist_save

10 years agoRevert "ITS#7793 mdb_cursor_put(): Fix MDB_CURRENT."
Howard Chu [Wed, 26 Mar 2014 09:18:20 +0000 (02:18 -0700)]
Revert "ITS#7793 mdb_cursor_put(): Fix MDB_CURRENT."

This reverts commit 4e954f8ae83d5b39736bab2da0eaf2bdf5ee3961.
Caused ITS#7828.

10 years agoRevert "Update MDB_PANIC description" (thinko).
Hallvard Furuseth [Sun, 23 Mar 2014 12:06:03 +0000 (13:06 +0100)]
Revert "Update MDB_PANIC description" (thinko).

This reverts commit 6bd34d0534f1c8bfd73deaf70febd3b58a2f9d5a.

10 years agoUpdate MDB_PANIC description
Hallvard Furuseth [Sat, 22 Mar 2014 21:27:10 +0000 (22:27 +0100)]
Update MDB_PANIC description

10 years agoTweak mdb_mid2l_insert() call from ITS#7775.
Hallvard Furuseth [Sat, 22 Mar 2014 21:27:10 +0000 (22:27 +0100)]
Tweak mdb_mid2l_insert() call from ITS#7775.

It does not return MDB error codes.

10 years agomtest: Accept an MDB_NOTFOUND case
Hallvard Furuseth [Sun, 16 Mar 2014 11:42:43 +0000 (12:42 +0100)]
mtest: Accept an MDB_NOTFOUND case

10 years agoHandle more errors. Invalidate txn if needed.
Hallvard Furuseth [Sun, 16 Mar 2014 11:42:43 +0000 (12:42 +0100)]
Handle more errors. Invalidate txn if needed.

10 years agoDon't use non-existent node info in branch/leaf2
Hallvard Furuseth [Sun, 16 Mar 2014 11:42:42 +0000 (12:42 +0100)]
Don't use non-existent node info in branch/leaf2

10 years agoMove code out of mdb_cursor_del0() and mdb_del().
Hallvard Furuseth [Sun, 16 Mar 2014 11:42:42 +0000 (12:42 +0100)]
Move code out of mdb_cursor_del0() and mdb_del().

Prepares for the next commits.

10 years agoMore checks for closed DBIs and invalidated txns.
Hallvard Furuseth [Sun, 16 Mar 2014 11:42:42 +0000 (12:42 +0100)]
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.

10 years agomdb_page_list(): Support & display all page types
Hallvard Furuseth [Sun, 16 Mar 2014 11:42:42 +0000 (12:42 +0100)]
mdb_page_list(): Support & display all page types

10 years agomdb_txn_renew0(): Fix un-mutexed me_flags update.
Hallvard Furuseth [Sun, 16 Mar 2014 11:42:42 +0000 (12:42 +0100)]
mdb_txn_renew0(): Fix un-mutexed me_flags update.

Replace env flag MDB_LIVE_READER with field me_live_reader.

10 years agoDoxygen fixes
Hallvard Furuseth [Sun, 16 Mar 2014 11:42:42 +0000 (12:42 +0100)]
Doxygen fixes

10 years agoRename samples
Howard Chu [Sun, 16 Mar 2014 10:55:03 +0000 (03:55 -0700)]
Rename samples

They're meant to be read and studied, not run.

10 years agoITS#7815 more for page_split
Howard Chu [Thu, 6 Mar 2014 04:40:12 +0000 (20:40 -0800)]
ITS#7815 more for page_split

This case didn't come up in testing. Needs finer grained test.

10 years agoITS#7815 fix mdb_page_split
Howard Chu [Thu, 6 Mar 2014 04:04:42 +0000 (20:04 -0800)]
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.

10 years agomtest*.c, sample-*.c: Add/note error checks.
Hallvard Furuseth [Wed, 19 Feb 2014 20:25:40 +0000 (21:25 +0100)]
mtest*.c, sample-*.c: Add/note error checks.

10 years agomtest[46]: Use different DBs when different flags.
Hallvard Furuseth [Wed, 19 Feb 2014 20:25:40 +0000 (21:25 +0100)]
mtest[46]: Use different DBs when different flags.

10 years agoITS#7793 mdb_cursor_put(): Fix MDB_CURRENT.
Hallvard Furuseth [Tue, 28 Jan 2014 13:27:27 +0000 (14:27 +0100)]
ITS#7793 mdb_cursor_put(): Fix MDB_CURRENT.

Ignore key, broken by 5bda3565a9bfaa6cd54053faeafcc06da15bc00c
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.

10 years agoBump version to 0.9.11
Howard Chu [Wed, 15 Jan 2014 17:09:48 +0000 (09:09 -0800)]
Bump version to 0.9.11

10 years agoNote changes for LMDB 0.9.11
Howard Chu [Wed, 15 Jan 2014 01:12:48 +0000 (17:12 -0800)]
Note changes for LMDB 0.9.11

10 years agoRevert "ITS#7772 Reduce spurious sub-page growth."
Hallvard Furuseth [Mon, 13 Jan 2014 19:46:08 +0000 (20:46 +0100)]
Revert "ITS#7772 Reduce spurious sub-page growth."

This reverts commit 75494c08b49c3ef77dce8a00f2bc44c83658c1a7,
which must await a fix to ITS#7771 (DUPSORT cursor tracking).

10 years agoMake sure mapsize changes take effect on Windows.
Howard Chu [Mon, 13 Jan 2014 01:37:04 +0000 (17:37 -0800)]
Make sure mapsize changes take effect on Windows.

10 years agoITS#7775 Drop <assert.h>, drop/replace assert()s.
Hallvard Furuseth [Mon, 6 Jan 2014 22:21:54 +0000 (23:21 +0100)]
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.

10 years agoITS#7775 Cleanup mdb_node_del()
Howard Chu [Mon, 6 Jan 2014 22:21:44 +0000 (23:21 +0100)]
ITS#7775 Cleanup mdb_node_del()

10 years agoITS#7775 Add mdb_env_set_assert()
Hallvard Furuseth [Mon, 6 Jan 2014 22:17:38 +0000 (23:17 +0100)]
ITS#7775 Add mdb_env_set_assert()

10 years agoAdd mdb_env_<set,get>_userctx()
Hallvard Furuseth [Mon, 6 Jan 2014 22:17:38 +0000 (23:17 +0100)]
Add mdb_env_<set,get>_userctx()

10 years agoITS#7377 Invalidate txn on page-allocation errors
Hallvard Furuseth [Mon, 6 Jan 2014 22:17:37 +0000 (23:17 +0100)]
ITS#7377 Invalidate txn on page-allocation errors

This should likely be reverted when all callers handle these errors.

10 years agoWrap __func__ in mdb_func_
Hallvard Furuseth [Sun, 5 Jan 2014 15:37:26 +0000 (16:37 +0100)]
Wrap __func__ in mdb_func_

10 years agoInvalidate the txn on corruption/internal errors
Hallvard Furuseth [Sun, 5 Jan 2014 15:26:21 +0000 (16:26 +0100)]
Invalidate the txn on corruption/internal errors

10 years agoITS#7775 cleanup unnecessary assert()s
Howard Chu [Fri, 3 Jan 2014 20:40:28 +0000 (12:40 -0800)]
ITS#7775 cleanup unnecessary assert()s

10 years agomdb_page_malloc(): Move VGMEMP_ALLOC before memset
Hallvard Furuseth [Tue, 31 Dec 2013 01:16:19 +0000 (02:16 +0100)]
mdb_page_malloc(): Move VGMEMP_ALLOC before memset

10 years agoITS#7771 mdb_cursor_del0(): Fix xcursor tracking.
Hallvard Furuseth [Sun, 29 Dec 2013 14:58:21 +0000 (15:58 +0100)]
ITS#7771 mdb_cursor_del0(): Fix xcursor tracking.

10 years agosprintf format: pid_t need not be an int.
Hallvard Furuseth [Sun, 29 Dec 2013 14:57:33 +0000 (15:57 +0100)]
sprintf format: pid_t need not be an int.

10 years agoAdd mdb_dbg_pgno(): (sub)pagenum for debug output.
Hallvard Furuseth [Sun, 29 Dec 2013 14:09:51 +0000 (15:09 +0100)]
Add mdb_dbg_pgno(): (sub)pagenum for debug output.

10 years agoITS#7772 Reduce spurious sub-page growth.
Hallvard Furuseth [Sun, 29 Dec 2013 14:09:05 +0000 (15:09 +0100)]
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.

10 years agoITS#7665 Drop lmdb.h doc on non-overlapping flags.
Hallvard Furuseth [Sun, 29 Dec 2013 13:54:17 +0000 (14:54 +0100)]
ITS#7665 Drop lmdb.h doc on non-overlapping flags.

It was inaccurate and misplaced. Verify it in mdb.c instead.

10 years agoITS#7515 has been fixed.
Hallvard Furuseth [Sun, 29 Dec 2013 13:52:30 +0000 (14:52 +0100)]
ITS#7515 has been fixed.

10 years agoDrop UNLOCK_MUTEX_R() on mdb_reader_pid() error
Hallvard Furuseth [Sun, 29 Dec 2013 13:52:30 +0000 (14:52 +0100)]
Drop UNLOCK_MUTEX_R() on mdb_reader_pid() error

10 years agoFix commit "Raise safe max MDB_MAXKEYSIZE."
Hallvard Furuseth [Sat, 21 Dec 2013 11:31:57 +0000 (12:31 +0100)]
Fix commit "Raise safe max MDB_MAXKEYSIZE."

I.e. d69d2ce2307e9d0e2167843935c386b05a869c31, it left out some changes.

10 years agoReplace MDB_node.mn_offset[], to ease debugging.
Hallvard Furuseth [Wed, 11 Dec 2013 10:57:13 +0000 (11:57 +0100)]
Replace MDB_node.mn_offset[], to ease debugging.

10 years agoComment MDB_node, mdb_page_unspill, mdb_update_key
Hallvard Furuseth [Wed, 11 Dec 2013 10:57:13 +0000 (11:57 +0100)]
Comment MDB_node, mdb_page_unspill, mdb_update_key

10 years agoFix mdb_reader_list() and its spec.
Hallvard Furuseth [Wed, 11 Dec 2013 10:57:13 +0000 (11:57 +0100)]
Fix mdb_reader_list() and its spec.

It and the MDB_msg_func can now return >= 0 for success.
Always return any MDB_msg_func() error result.

10 years agoSupport dynamic max MDB keysize.
Hallvard Furuseth [Wed, 11 Dec 2013 10:57:13 +0000 (11:57 +0100)]
Support dynamic max MDB keysize.

10 years agoRaise safe max MDB_MAXKEYSIZE.
Hallvard Furuseth [Wed, 11 Dec 2013 10:57:13 +0000 (11:57 +0100)]
Raise safe max MDB_MAXKEYSIZE.

Use a sub-DB for DUPSORT item #1/#2 per key if needed: Not a sub-
page too big for a node, nor an overflow page (which not all DUPSORT
code checks for). Move "insert" code, to avoid non-loop goto upwards.

(This is the commit which needs the change to xdata.mv_size in
commit 9d6e4a916367e85ffdf37b1cb7b5cdb7ac0e15b5 "page sizes".)

10 years agoRelax MDB_MAXKEYSIZE for existing data.
Hallvard Furuseth [Wed, 11 Dec 2013 10:57:12 +0000 (11:57 +0100)]
Relax MDB_MAXKEYSIZE for existing data.

Handle keys stored by a liblmdb with a bigger MDB_MAXKEYSIZE.
mdb_get/mdb_del(absent key bigger than our MDB_MAXKEYSIZE)
now return MDB_NOTFOUND instead of MDB_BAD_VALSIZE.

10 years agoITS#7589 Fix me_nodemax and related node sizes.
Hallvard Furuseth [Wed, 11 Dec 2013 10:57:12 +0000 (11:57 +0100)]
ITS#7589 Fix me_nodemax and related node sizes.

Change me_nodemax to not count the mp_ptrs[] entry. That's mostly
how it was used. Compare node sizes ">" me_nodemax instead of ">=".
The ">=" was a workaround for confusing sizes with and without the
mp_ptrs[] entry, but broke for nodes with size (old me_nodemax-1).

Explicitly make me_nodemax even. An odd value could break the
comparisons. It was even anyway because MDB_MINKEYS == 2.

10 years agoITS#7589 Fix delete(uneven-sized MDB_DUPFIXED data).
Hallvard Furuseth [Wed, 11 Dec 2013 10:57:12 +0000 (11:57 +0100)]
ITS#7589 Fix delete(uneven-sized MDB_DUPFIXED data).

Do not give uneven sizes to the sub-page and the node it lives in.

10 years agoput(MDB_MULTIPLE): Skip existing item cleanly.
Hallvard Furuseth [Wed, 11 Dec 2013 10:57:12 +0000 (11:57 +0100)]
put(MDB_MULTIPLE): Skip existing item cleanly.

Don't set dkey.mv_size if mdb won't clear it before next iteration.

10 years agoAdd EVEN(): Micro-optimize "up to multiple of 2".
Hallvard Furuseth [Wed, 11 Dec 2013 10:57:12 +0000 (11:57 +0100)]
Add EVEN(): Micro-optimize "up to multiple of 2".

10 years agoWarning cleanup.
Hallvard Furuseth [Wed, 11 Dec 2013 10:57:12 +0000 (11:57 +0100)]
Warning cleanup.

Drop unused computed/assigned values.
mdb_page_alloc(): Make "mop_len>0 implies mop!=NULL" provable.

10 years agoClean up mdb_copy.
Hallvard Furuseth [Wed, 11 Dec 2013 10:57:12 +0000 (11:57 +0100)]
Clean up mdb_copy.

Support MDB_NOSUBDIR. Catch more errors.  Write messages
to stderr, not stdout which the data too may be piped to.

10 years agoFix GET_BOTH_RANGE
Howard Chu [Thu, 5 Dec 2013 02:42:49 +0000 (18:42 -0800)]
Fix GET_BOTH_RANGE

On near match, return the matched data.

10 years agoITS#7756 keysizes were wrong in mdb_update_key
Howard Chu [Sat, 30 Nov 2013 01:03:49 +0000 (17:03 -0800)]
ITS#7756 keysizes were wrong in mdb_update_key

10 years agoDoc tweak
Howard Chu [Tue, 12 Nov 2013 16:10:33 +0000 (08:10 -0800)]
Doc tweak

Measured perf cost of meminit was 7% worst case on an Intel Core2
system. YMMV.

10 years agoBump to 0.9.10
Howard Chu [Tue, 12 Nov 2013 04:15:54 +0000 (20:15 -0800)]
Bump to 0.9.10

10 years agoWindows/Win64/MSVC tweaks
Howard Chu [Tue, 12 Nov 2013 04:08:26 +0000 (20:08 -0800)]
Windows/Win64/MSVC tweaks

Silence warnings, fix broken MinGW64 definitions, etc.

10 years agoClarify WRITEMAP / NOMEMINIT
Howard Chu [Tue, 12 Nov 2013 00:35:17 +0000 (16:35 -0800)]
Clarify WRITEMAP / NOMEMINIT

10 years agoChange default mem init behavior
Howard Chu [Mon, 11 Nov 2013 23:09:32 +0000 (15:09 -0800)]
Change default mem init behavior

Init malloc'd memory by default, use #MDB_NOMEMINIT to disable.
Bump version to 0.9.10

10 years agoAdd MDB_CLEANMEM option.
Hallvard Furuseth [Thu, 7 Nov 2013 22:41:30 +0000 (23:41 +0100)]
Add MDB_CLEANMEM option.

Initialize unused portions of DB pages, for security or to silence
checkers like Purify and Valgrind. Like BDB configure --enable-umrw.

10 years agoFix MDB_MAXKEYSIZE doc: Account for MDB_DUPSORT.
Hallvard Furuseth [Thu, 7 Nov 2013 22:38:15 +0000 (23:38 +0100)]
Fix MDB_MAXKEYSIZE doc: Account for MDB_DUPSORT.

A node may need room for [key, subpage with 2 items] = 3 keys.

10 years agoITS#7713 Handle bigger OS page sizes
Hallvard Furuseth [Thu, 7 Nov 2013 22:38:15 +0000 (23:38 +0100)]
ITS#7713 Handle bigger OS page sizes

Use DB page size = min(32k, OS pagesize).  Previous limit was 8k
(MDB_MINKEYS*MDB_PAGESIZE).

Handle DB pagesize < OS pagesize. That's an I/O pessimization,
but transactions remain atomic: Only writing the MDB_meta must
be atomic, and it fits in one OS page.

Don't truncate desired subpage size: Asssign it to a size_t
(mv_size), not an uint16_t (mp_upper).

10 years agomdb_cursor_put(): Factor out code. Kill a label.
Hallvard Furuseth [Thu, 7 Nov 2013 22:38:15 +0000 (23:38 +0100)]
mdb_cursor_put(): Factor out code. Kill a label.

10 years agoFix prev commit, cursor depth comparison
Howard Chu [Thu, 7 Nov 2013 17:37:48 +0000 (09:37 -0800)]
Fix prev commit, cursor depth comparison

10 years agoFix cursor_del0 cursor fixup
Howard Chu [Thu, 7 Nov 2013 00:49:25 +0000 (16:49 -0800)]
Fix cursor_del0 cursor fixup

Skip cursors that aren't as deep as current cursor

10 years agoMore for #7589
Howard Chu [Tue, 5 Nov 2013 04:00:55 +0000 (20:00 -0800)]
More for #7589

10 years agoITS#7589 another mdb_page_split fix
Howard Chu [Fri, 1 Nov 2013 00:31:15 +0000 (17:31 -0700)]
ITS#7589 another mdb_page_split fix

Tweak split_indx check, go one slot further.

10 years agoITS#7736 fix regression in ITS#7733 patch
Howard Chu [Thu, 31 Oct 2013 23:01:04 +0000 (16:01 -0700)]
ITS#7736 fix regression in ITS#7733 patch

In d8eccb353b1be7f07e74149dde9a41bb199d74e8

10 years agoITS#7733 check cursor index before cursor_del
Howard Chu [Mon, 28 Oct 2013 14:25:54 +0000 (07:25 -0700)]
ITS#7733 check cursor index before cursor_del