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 50887d6..336db31 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);