mdb_txn_commit(): Always commit if MDB_TXN_SPILLS.

Checking dirty_list was insufficient after a spill
with no named databases and no positioned cursors.
vmware
Hallvard Furuseth 11 years ago
parent 92eb220184
commit 5645812f41
  1. 3
      libraries/liblmdb/mdb.c

@ -2851,7 +2851,8 @@ mdb_txn_commit(MDB_txn *txn)
mdb_cursors_close(txn, 0); mdb_cursors_close(txn, 0);
if (!txn->mt_u.dirty_list[0].mid && !(txn->mt_flags & MDB_TXN_DIRTY)) if (!txn->mt_u.dirty_list[0].mid &&
!(txn->mt_flags & (MDB_TXN_DIRTY|MDB_TXN_SPILLS)))
goto done; goto done;
DPRINTF("committing txn %"Z"u %p on mdbenv %p, root page %"Z"u", DPRINTF("committing txn %"Z"u %p on mdbenv %p, root page %"Z"u",

Loading…
Cancel
Save