mirror of
https://github.com/isar/libmdbx.git
synced 2025-08-22 08:49:26 +08:00
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
This commit is contained in:
1
CHANGES
1
CHANGES
@@ -21,6 +21,7 @@ LMDB 0.9.17 Release Engineering
|
||||
Fix ITS#8313 mdb_rebalance dummy cursor
|
||||
Fix ITS#8315 dirty_room in nested txn
|
||||
Fix ITS#8316 page_merge cursor tracking
|
||||
Fix ITS#8321 cursor tracking
|
||||
Added mdb_txn_id() (ITS#7994)
|
||||
Added robust mutex support
|
||||
Miscellaneous cleanup/simplification
|
||||
|
Reference in New Issue
Block a user