[Date Prev][Date Next]
(ITS#7861) Wrong entry count with MDB_DUPSORT databases
Full_Name: Hallvard B Furuseth
Version: mdb.master, 4b9aed26a5b1c0027b10d211c6e7270dbb1ade1c
OS: Linux x86_64
Submission from: (NULL) (2001:700:100:556::233)
Submitted by: hallvard
mdb_cursor_put() does not always know if it'll be inserting a
new item or not, e.g. when inserting in a sub-database. This
was always wrong, but recent commits changed how it was wrong.
Fix: Split 'insert' in 'insert_key' + 'insert_data'. Compute
insert_data from mx_db.md_entries before and after the insert.
In my UiO repo, branch mdb/todo-3:
02dd3865d5 [Rewritten] ITS#xxxx Fix MDB_db.md_entries.
c6c78f71d3 [New] Tweak varname 'insert'.
(Cosmetic patch which does not apply cleanly, I guess I should
make an mdb/todo-4 branch where it is applied earlier.)
mdb_cursor_del(, MDB_NODUPDATA) only subtracts 1 from md_entries
when deleting a sub-page, instead of no of DUP entries.
fa8e827026 [New,Squash] Fix md_entries in mdb_cursor_del:MDB_NODUPDATA.