Fix prev commit, cursor depth comparison
authorHoward Chu <hyc@symas.com>
Thu, 7 Nov 2013 17:37:48 +0000 (09:37 -0800)
committerHoward Chu <hyc@symas.com>
Thu, 7 Nov 2013 17:37:48 +0000 (09:37 -0800)
libraries/liblmdb/mdb.c

index 44ce73e8b502f7021c89d2134e63037265156e64..7a8ca3fde60a35eed55bf31e35f15a12c27678e3 100644 (file)
@@ -7291,12 +7291,10 @@ mdb_cursor_del0(MDB_cursor *mc, MDB_node *leaf)
 
                /* Adjust other cursors pointing to mp */
                for (m2 = mc->mc_txn->mt_cursors[dbi]; m2; m2=m2->mc_next) {
-                       if (m2 == mc)
+                       if (m2 == mc || m2->mc_snum < mc->mc_snum)
                                continue;
                        if (!(m2->mc_flags & C_INITIALIZED))
                                continue;
-                       if (m2->mc_top < mc->mc_top)
-                               continue;
                        if (m2->mc_pg[mc->mc_top] == mp) {
                                if (m2->mc_ki[mc->mc_top] >= ki) {
                                        m2->mc_flags |= C_DEL;