projects
/
platform
/
upstream
/
lmdb.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
92eb220
)
mdb_txn_commit(): Always commit if MDB_TXN_SPILLS.
author
Hallvard Furuseth
<hallvard@openldap.org>
Sat, 10 Aug 2013 10:29:45 +0000
(12:29 +0200)
committer
Hallvard Furuseth
<hallvard@openldap.org>
Sat, 10 Aug 2013 10:29:45 +0000
(12:29 +0200)
Checking dirty_list was insufficient after a spill
with no named databases and no positioned cursors.
libraries/liblmdb/mdb.c
patch
|
blob
|
history
diff --git
a/libraries/liblmdb/mdb.c
b/libraries/liblmdb/mdb.c
index a407edac7a0f0eb76b674281d7e99d637ed8c294..02c7f067e37ae1dc312a5a3ebd0c3fae5acedc9a 100644
(file)
--- a/
libraries/liblmdb/mdb.c
+++ b/
libraries/liblmdb/mdb.c
@@
-2851,7
+2851,8
@@
mdb_txn_commit(MDB_txn *txn)
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;
DPRINTF("committing txn %"Z"u %p on mdbenv %p, root page %"Z"u",