ITS#7515 Nested MDB txns: Inherit txn flags.

Committing a nested txn lost the MDB_TXN_DIRTY flag
in the parent, unless the child had set it too.
vmware
Hallvard Furuseth 12 years ago
parent 7030ad16e2
commit 60086c1bc7
  1. 1
      libraries/liblmdb/mdb.c

@ -1971,6 +1971,7 @@ mdb_txn_begin(MDB_env *env, MDB_txn *parent, unsigned int flags, MDB_txn **ret)
parent->mt_child = txn; parent->mt_child = txn;
txn->mt_parent = parent; txn->mt_parent = parent;
txn->mt_numdbs = parent->mt_numdbs; txn->mt_numdbs = parent->mt_numdbs;
txn->mt_flags = parent->mt_flags;
txn->mt_dbxs = parent->mt_dbxs; txn->mt_dbxs = parent->mt_dbxs;
memcpy(txn->mt_dbs, parent->mt_dbs, txn->mt_numdbs * sizeof(MDB_db)); memcpy(txn->mt_dbs, parent->mt_dbs, txn->mt_numdbs * sizeof(MDB_db));
/* Copy parent's mt_dbflags, but clear DB_NEW */ /* Copy parent's mt_dbflags, but clear DB_NEW */

Loading…
Cancel
Save