mdbx: fix dirtyroom inheritance for nested transactions.

Change-Id: If2036ab3b7909c51e54526a535d65cdee1e0b287
This commit is contained in:
Leonid Yuriev 2021-01-31 21:47:35 +03:00
parent bc33875a9e
commit 8b6608a9ca

View File

@ -6974,7 +6974,6 @@ int mdbx_txn_begin_ex(MDBX_env *env, MDBX_txn *parent, MDBX_txn_flags_t flags,
mdbx_free(txn);
return rc;
}
txn->tw.dirtyroom = parent->tw.dirtyroom;
/* Move loose pages to reclaimed list */
if (parent->tw.loose_count) {
@ -6997,6 +6996,7 @@ int mdbx_txn_begin_ex(MDBX_env *env, MDBX_txn *parent, MDBX_txn_flags_t flags,
#endif /* MDBX_ENABLE_REFUND */
mdbx_tassert(parent, mdbx_dirtylist_check(parent));
}
txn->tw.dirtyroom = parent->tw.dirtyroom;
mdbx_dpl_sort(parent->tw.dirtylist);
if (parent->tw.spill_pages)