mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-21 23:29:34 -05:00
ITS#7701 fix mdb_rebalance
Must copy tmp cursor back to real cursor when merging into tmp cursor.
This commit is contained in:
parent
0f842a2710
commit
0144da6eab
1 changed files with 4 additions and 1 deletions
|
|
@ -7248,8 +7248,11 @@ mdb_rebalance(MDB_cursor *mc)
|
||||||
else {
|
else {
|
||||||
if (mc->mc_ki[ptop] == 0)
|
if (mc->mc_ki[ptop] == 0)
|
||||||
rc = mdb_page_merge(&mn, mc);
|
rc = mdb_page_merge(&mn, mc);
|
||||||
else
|
else {
|
||||||
|
mn.mc_ki[mn.mc_top] += mc->mc_ki[mn.mc_top] + 1;
|
||||||
rc = mdb_page_merge(mc, &mn);
|
rc = mdb_page_merge(mc, &mn);
|
||||||
|
mdb_cursor_copy(&mn, mc);
|
||||||
|
}
|
||||||
mc->mc_flags &= ~(C_INITIALIZED|C_EOF);
|
mc->mc_flags &= ~(C_INITIALIZED|C_EOF);
|
||||||
}
|
}
|
||||||
return rc;
|
return rc;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue