mdb:mdb.git
4 years agoRemove bogus file LMDB_0.9.12
Howard Chu [Wed, 18 Jun 2014 09:53:17 +0000 (02:53 -0700)]
Remove bogus file

added by mistake in 17c09fa476a7dbd49aca5e4caf0384cb1c3d244a

4 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

4 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

4 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)

4 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.

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

4 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.

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

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

4 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).

4 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.

4 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

4 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.

4 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.

4 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

4 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.

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

4 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

4 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

4 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

4 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

4 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

4 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.

4 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.

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

4 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.

4 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

4 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.

4 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

4 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.

4 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.

4 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

4 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.

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

4 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.

4 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.

4 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.

4 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.

4 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.

4 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.

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

4 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

4 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).

4 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.

4 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.

4 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()

4 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()

4 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()

4 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.

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

4 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

4 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

4 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

4 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.

4 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.

4 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.

4 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.

4 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.

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

4 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

4 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.

4 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.

4 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

4 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.

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

4 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".)

4 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.

4 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.

4 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.

4 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.

4 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".

4 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.

4 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.

4 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.

4 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

4 years agoDoc tweak LMDB_0.9.10
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.

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

4 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.

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

4 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

4 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.

4 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.

4 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).

4 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.

4 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

4 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

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

4 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.

4 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

4 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

4 years agoITS#7734 Add MDB_NORDAHEAD to CHANGELESS.
David Wilson [Mon, 28 Oct 2013 13:58:04 +0000 (06:58 -0700)]
ITS#7734 Add MDB_NORDAHEAD to CHANGELESS.

4 years agoBump to 0.9.9 LMDB_0.9.9
Howard Chu [Thu, 24 Oct 2013 22:57:17 +0000 (15:57 -0700)]
Bump to 0.9.9

4 years agoAdd mdb_env_get_fd()
Howard Chu [Mon, 21 Oct 2013 17:29:38 +0000 (10:29 -0700)]
Add mdb_env_get_fd()

Return the environment's filedescriptor. Useful when the caller
is doing their own locking.

4 years agoFix 01dfb2083dd690707a062cabb03801bfad1a6859
Howard Chu [Mon, 14 Oct 2013 16:47:26 +0000 (09:47 -0700)]
Fix 01dfb2083dd690707a062cabb03801bfad1a6859

USE_POSIX_SEM must define USE_HASH

4 years agoITS#7725 add MDB_NORDAHEAD flag for env_open
Howard Chu [Sat, 12 Oct 2013 23:20:04 +0000 (16:20 -0700)]
ITS#7725 add MDB_NORDAHEAD flag for env_open

4 years agoITS#7589 silence warnings
Howard Chu [Sat, 12 Oct 2013 20:40:28 +0000 (13:40 -0700)]
ITS#7589 silence warnings

4 years agoITS#7589 Fix typo in prev commit
Howard Chu [Sat, 12 Oct 2013 20:31:09 +0000 (13:31 -0700)]
ITS#7589 Fix typo in prev commit

4 years agoITS#7589 Cleanup unneeded vars in prev patch
Howard Chu [Sat, 12 Oct 2013 20:19:33 +0000 (13:19 -0700)]
ITS#7589 Cleanup unneeded vars in prev patch

4 years agoITS#7589 avoid wasting space in mdb_page_split
Howard Chu [Sat, 12 Oct 2013 16:34:40 +0000 (09:34 -0700)]
ITS#7589 avoid wasting space in mdb_page_split

Also, check the split point on branch pages as well as leaf pages.

4 years agoAdd MDB_USE_HASH
Howard Chu [Fri, 4 Oct 2013 17:22:14 +0000 (10:22 -0700)]
Add MDB_USE_HASH

There may be other uses for it besides semaphore names.