Commit Graph

43 Commits

Author SHA1 Message Date
Leo Yuriev
ba3bd76a22 mdbx: sync CHANGES with LMDB-0.9.19.
Change-Id: I0e185caab97598215299fee6bb449bc4c41671a0
2016-05-04 22:31:58 +03:00
Howard Chu
e7859934f2 mdbx: backport - ITS#8393 fix MDB_GET_BOTH on non-dup record.
Change-Id: I96028ff6de55915bab98a7d0e2d97072296fc769
2016-03-29 23:03:58 +03:00
Howard Chu
0deb198ca2 mdbx: backport - release 0.9.18
Change-Id: I132a004c109facfa481a86a09eb0c3e454c294a8
2016-02-09 06:28:54 +03:00
Howard Chu
0e508f0d3b mdbx: backport - ITS#8363 Fix off-by-one in mdb_midl_shrink().
Change-Id: I92a2ed30703f6cd5e91c7f380f1954da4cbe896b
2016-02-01 21:08:28 +03:00
Leo Yuriev
463b0dce29 mdbx: pull CHANGES-log from LMDB.
Change-Id: I083f58e104c2737f8d8da878109ba7b4741fb4c5
2016-01-25 18:39:49 +03:00
Howard Chu
e6ff451d84 mdbx: backport - ITS#8355 fix subcursors.
make sure C_DEL gets reset in subcursor after it moves.

Change-Id: I334cadcd981e7578d98e326e6bd785bed709a83a
2016-01-25 18:36:49 +03:00
Howard Chu
3b7a958fcd mdbx: backport - Update WRITEMAP doc.
Change-Id: I5c4b72e8c64dfe4ed04ca579f3545191165ef20a
2016-01-25 18:27:58 +03:00
Leo Yuriev
d538145711 mdbx: pull CHANGES from LMDB.
Change-Id: I8f1ffc63f5e4ef0919702f2b176c70ba6aeb8efe
2016-01-09 22:35:54 +03:00
Leo Yuriev
c81942a2a6 mdbx: pull CHANGES from LMDB.
Change-Id: I008d23776ea78352de582f7e93446edbed75d094
2015-12-25 19:49:22 +03:00
Leo Yuriev
b848f5552f mdbx: pull CHANGES from LMDB.
Change-Id: I937ca30a04f8dfc2fb923ccb440da2e497185ca3
2015-12-13 19:48:44 +03:00
Leo Yuriev
a7a28ecdb4 mdbx: Release 0.9.17 (pull from openldap.org).
Change-Id: Ia92368fc1e17c4106cffe72c7a34581d4413e8ca
2015-12-01 16:05:55 +03:00
Heiko Becker
1739a2f4c1 mdbx: backport - ITS#8169 Allow passing mandir to make install.
The motivation for this change is my distribution moving to a multiarch
layout. While the architecture specific stuff (binaries, libraries,
etc.) is installed under /usr/${host}/{bin,lib,...} architecture-independent
data should still be installed to /usr/share/.

Change-Id: I9bc1e4ba975e8ef7fe945ca3b30f044ac40eedf2
2015-11-25 19:08:48 +03:00
Leo Yuriev
35452812b5 mdbx: pull CHANGES from LMDB.
Change-Id: Id85578ea842564792dd7141984b67406fa5a804c
2015-11-25 19:08:34 +03:00
Howard Chu
3eb38d2f1b mdbx: backport - ITS#8323 Fix nested commit.
Must remove our spilled pages from parent's dirty list

Change-Id: Ic37bcea4975801e48832968ea38050064a581d21
2015-11-25 18:39:31 +03:00
Orivej Desh
5d4a23138c mdbx: backport - ITS#8320 mdb_load: fix loading data from simple text files.
mdb_load -T was supposed to read escaped text,
but 21b51cb7 "Add mdb_load" made it read hex.

Change-Id: If12a01ee897af0570d95744626815c535cc81f9f
2015-11-23 10:13:05 +03:00
Orivej Desh
a8e2288537 mdbx: backport - ITS#8319 mdb_load: explain readline and mdb_cursor_put errors.
Change-Id: I99e8ff220bb37109da83bb6088be7597b52c6f00
2015-11-23 10:13:05 +03:00
Leo Yuriev
aeea7ebb08 mdbx: backport - ITS#8321 a lot for cursor tracking.
Multiple bugs were fixed in the cursor fixups which
adjust other open cursors in response to various write ops.

Includes:

 - ITS#8321 Fix del/dupsort.
   When deleting a dupsort key, if other cursors pointed at that key,
   set them to uninit'd, not EOF. They no longer have anything to
   point at.

 - ITS#8321 don't skip fixups on splitting cursors.
   Adjustments can't be skipped, in recursive calls each level must
   fixup their own level.

 - ITS#8321 fix mdb_cursor_chk().
   It was reporting spurious errors due to uninit'd cursors

 - ITS#8321 fix mdb_cursor_shadow().
   Set a valid txn so that cursor fixup code works on the shadows

 - ITS#8321 fix mdb_cursor_put.
   Ignore sub-cursors that shouldn't be fixed up

 - ITS#8321 track temporary cursors.
   In rebalance/split operations, temporary cursors need to be visible
   to propagate fixups

 - ITS#8321 simplify page_split fixups.

 - ITS#8321 reorganize page_split fixups.
   DUPFIXED fixups needed to occur after separator update.
   MDB_RESERVE handling moved after split fixup.

Change-Id: I0c04acf54ebf6e84f32996b5723ec6fafb983ad9
2015-11-23 10:09:20 +03:00
Howard Chu
6ba0b8b467 mdbx: backport - ITS#8316 cursor fixup in page_merge.
Deleting the merged page requires bumping down other ki's
of the page's parent.

Change-Id: Ifc94e26b8755ede2400521556556a6824bc2c62b
2015-11-23 10:07:49 +03:00
Howard Chu
7e2000ef7a mdbx: backport - ITS#8315 fix ovpage_free.
Keep dirty_room sync'd with dirty_list

Change-Id: I9e52a72df95ffb504740e8daecf65b62970e9f25
2015-11-19 20:44:49 +03:00
Howard Chu
12cd2361e7 mdbx: backport - ITS#8313 more for ITS#8062.
dummy flags must be init'd due to 3d46d550

Change-Id: I3d543bd3e059da9b007f1e752f20171acc183679
2015-11-19 20:44:44 +03:00
Hallvard Furuseth
86abc397e8 mdbx: backport - ITS#8312 Fix loose pages in commit(nested txn).
Change-Id: Ie335dcff0c87cfc13abf9b937f5d058d3ea9d841
2015-11-19 20:44:13 +03:00
Howard Chu
02da85169e mdbx: backport - ITS#8311 fix page_split from update_key.
Check for top of stack. Usually the cursor only has height 1 when
calling page_split, but not always.

Change-Id: Iad221be30edac0f82b650f787e5dbe721cc978e0
2015-11-19 19:05:02 +03:00
Howard Chu
380c61bcf7 mdbx: backport - ITS#8310 fix mdb_rebalance cursor fixup.
When collapsing root, must adjust entire cursor stack

Change-Id: If62c42f556311e785aa414954a3d7fddc077cf62
2015-11-14 13:07:19 +03:00
Howard Chu
ab0b0ec7ce mdbx: backport - ITS#8304 fix page_merge (mdb_del cursor tracking).
Was using the pre-touch dst page pointer instead of the touched page

Change-Id: Ib41af356dcf883b923dbfbbc7591a02483ee54dd
2015-11-10 09:12:33 +03:00
Howard Chu
ee26517b5d mdbx: backpost - ITS#8300 fix rebalance after node_move.
ITS#8258, ITS#7829 fixes checked parent index to see if we were moving
from a left neighbor. Should have just checked to see if current index
was 0, meaning we added on the left. (Parent index may not tell us
anything meaningful after a nested rebalance.)

Includes:

 - ITS#8300 fix node_move
   Don't adjust other cursors when we added a node on the right.

 - ITS#8300 more for node_move fixups
   When moving a node from the right neighbor, a different
   adjustment is needed.

 - ITS#8300 simplify

 - ITS#8300 more for node_move
   When moving a node from one page to another, make sure other cursors'
   parent index gets adjusted too.
2015-11-06 17:46:51 +03:00
Howard Chu
7890eb8a8e mdbx: backport - ITS#8238 fix DUPFIXED page_split.
Parent mc_ki wasn't adjusted if new_indx was > split point

Change-Id: I45548e378e53bad5ce7a3a7c2b8236d592f3c412
2015-11-06 17:46:31 +03:00
Howard Chu
f35fb03f86 mdbx: backport - ITS#8299 fix page_merge cursor fixup.
The parent's mc_ki has changed. We need to fix that up as well
in other cursors.

Change-Id: I1f422a07ed75b99f3e36075749800c892ca6d5ec
2015-11-06 17:46:31 +03:00
Howard Chu
372a6d8521 lmdb: origin - CHANGES, More misc updates.
Change-Id: I1f86203b89c895ba8caf7916173b23c7e2a211d9
2015-11-06 16:58:47 +03:00
Leo Yuriev
8473370d65 lmdb: CHANGES - ITS#7377, #8237, #8221, #8256, #8258.
Change-Id: Id825ceaf0fbb9575c0dbfd9f69997013d6f1fad0
2015-10-11 22:21:05 +03:00
Howard Chu
db7e7ae4df lmdb: origin - return to release engineering.
Change-Id: I26b54d4cc8b68a091ecb3cefe707cf6c5317da3d
2015-08-30 01:12:11 +03:00
Howard Chu
7fc3427b9c lmdb: Release 0.9.16
Change-Id: I47fb565592dd71e1fb3575584c560883418b7bf5
2015-08-15 13:17:46 +03:00
Leo Yuriev
1dbcf773a0 lmdb: ITS#8192 (reference to EINTR on WIN32) - not affected in ReOpenLDAP.
Change-Id: I5b2f76b24bc93841ee3c89f9adb9a81ba4581c5d
2015-08-04 14:10:44 +03:00
Howard Chu
b980ff72cb lmdb: 0.9.16, updated CHANGES for ITS#8181, #8190, #8200.
Change-Id: I87a1a3136ea6dcdd322ab24ec1df9391aa4280b8
2015-08-04 13:57:14 +03:00
Hallvard Furuseth
001f89d4af lmdb: Clarify mdb_env_open() doc of 'mode' param.
Change-Id: Ia156bdd14f80c25b0d0cf44f9ab8a0fd270a4bb7
2015-06-03 02:12:58 +03:00
Hallvard Furuseth
75f9080c7d lmdb: more CHANGES.
Change-Id: I212a4d3124614de8d4a537f5e56d3749ce832081
2015-06-01 15:38:18 +03:00
Hallvard Furuseth
f71cb6d69e lmdb: ITS#8156 Fix MDB_MAXKEYSIZE doc.
Change-Id: Ia9dae2e68f28dcb715ac34226b358212317199c2
2015-06-01 15:38:18 +03:00
Hallvard Furuseth
55ae3dfa8b lmdb: ITS#8157 mdb_txn_renew0(): init after error checks.
Change-Id: I9ea344b98cb8c99a25ba7087abefbfe62b3417a0
2015-05-28 16:00:27 +03:00
Leo Yuriev
f97cc739cb lmdb: ITS#8117 - reworks of comparison for MDB_INTEGERKEY and MDB_INTEGERDUP.
Change-Id: Icd24589c7a139c4395de1e7c40f16d2c7ea54cf7
2015-05-01 06:50:04 +03:00
Howard Chu
d4bddde7aa lmdb: ITS#8109 fix mdb_cursor_del0 on empty DB.
Change-Id: Idba0acfd64b597f2bc5cb847ca99fe4560eed875
2015-04-24 22:39:21 +03:00
Leo Yuriev
1cab8ed564 lmdb: minor update lmdb/CHANGES.
Change-Id: Ic8070cce524fa899e87f4e3fe8d44c69e6830d58
2015-04-23 08:11:18 +03:00
Howard Chu
d0b4943352 lmdb: ITS#8062 - fix rebalance, also handle subcursors.
(Probably fixes the ITS, definitely fixes a bug) when collapsing
the root page, fixups of other cursors was incomplete.
2015-04-16 13:38:42 +03:00
Howard Chu
1981e8b6ee lmdb: ITS#8066 fix mdb_load with large values.
Change-Id: I8e5320efbea2c457da5a6e7115f4a6c9c38f45c3
2015-03-02 17:46:37 +03:00
Leo Yuriev
8431fb6372 OpenLDAP mdb.RE/0.9 at fe8b13f2251d49689b05876b86b3e10bb89993cd (2015-01-01). 2015-01-07 17:55:19 +03:00