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.
This commit is contained in:
Hallvard Furuseth 2013-08-10 12:29:45 +02:00
parent 92eb220184
commit 5645812f41

View File

@ -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",