mirror of
https://github.com/isar/libmdbx.git
synced 2025-01-04 17:14:12 +08:00
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
This commit is contained in:
parent
ee26517b5d
commit
ab0b0ec7ce
1
CHANGES
1
CHANGES
@ -10,6 +10,7 @@ LMDB 0.9.17 Release Engineering
|
|||||||
Fix ITS#8264 cursor_del cursor tracking
|
Fix ITS#8264 cursor_del cursor tracking
|
||||||
Fix ITS#8299 mdb_del cursor tracking
|
Fix ITS#8299 mdb_del cursor tracking
|
||||||
Fix ITS#8300 mdb_del cursor tracking
|
Fix ITS#8300 mdb_del cursor tracking
|
||||||
|
Fix ITS#8304 mdb_del cursor tracking
|
||||||
Fix ITS#7771 fakepage cursor tracking
|
Fix ITS#7771 fakepage cursor tracking
|
||||||
Fix ITS#7789 ensure mapsize >= pages in use
|
Fix ITS#7789 ensure mapsize >= pages in use
|
||||||
Fix ITS#7971 mdb_txn_renew0() new reader slots
|
Fix ITS#7971 mdb_txn_renew0() new reader slots
|
||||||
|
3
mdb.c
3
mdb.c
@ -7875,6 +7875,9 @@ mdb_page_merge(MDB_cursor *csrc, MDB_cursor *cdst)
|
|||||||
if (unlikely(rc = mdb_page_touch(cdst)))
|
if (unlikely(rc = mdb_page_touch(cdst)))
|
||||||
return rc;
|
return rc;
|
||||||
|
|
||||||
|
/* get dst page again now that we've touched it. */
|
||||||
|
pdst = cdst->mc_pg[cdst->mc_top];
|
||||||
|
|
||||||
/* Move all nodes from src to dst.
|
/* Move all nodes from src to dst.
|
||||||
*/
|
*/
|
||||||
j = nkeys = NUMKEYS(pdst);
|
j = nkeys = NUMKEYS(pdst);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user