]> git.sur5r.net Git - openldap/commitdiff
Simplify: Always set C_UNTRACK for tracked cursors.
authorHallvard Furuseth <hallvard@openldap.org>
Thu, 11 Jul 2013 20:09:46 +0000 (22:09 +0200)
committerHoward Chu <hyc@symas.com>
Fri, 12 Jul 2013 20:17:04 +0000 (13:17 -0700)
TODO: Rename C_UNTRACK to C_TRACKED.  Omitted now for readability.
The current name is because it's lazy: not always set when tracked.

libraries/liblmdb/mdb.c

index 50887d67899ec62945dd2b384c32d1ecd6dc8949..336db31ca3763cbdc0e0e46ff12a41394466194e 100644 (file)
@@ -6663,6 +6663,7 @@ mdb_del(MDB_txn *txn, MDB_dbi dbi,
                 * run out of space, triggering a split. We need this
                 * cursor to be consistent until the end of the rebalance.
                 */
+               mc.mc_flags |= C_UNTRACK;
                mc.mc_next = txn->mt_cursors[dbi];
                txn->mt_cursors[dbi] = &mc;
                rc = mdb_cursor_del(&mc, data ? 0 : MDB_NODUPDATA);