From b3a3dc4c6b3002f6dd7051906d649227831210ee Mon Sep 17 00:00:00 2001 From: Hallvard Furuseth Date: Sat, 4 Jul 2015 13:48:02 +0200 Subject: [PATCH] lmdb: Omit scanning DUPSORT sub-DB leaves in mdb_drop0(). Change-Id: Icc670a81210a9160e6cb90b9442994c008f599bd --- mdb.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/mdb.c b/mdb.c index 26b684b8..3540c1bd 100644 --- a/mdb.c +++ b/mdb.c @@ -9277,8 +9277,10 @@ mdb_drop0(MDB_cursor *mc, int subs) MDB_cursor mx; unsigned i; - /* LEAF2 pages have no nodes, cannot have sub-DBs */ - if (IS_LEAF2(mc->mc_pg[mc->mc_top])) + /* DUPSORT sub-DBs have no ovpages/DBs. Omit scanning leaves. + * This also avoids any P_LEAF2 pages, which have no nodes. + */ + if (mc->mc_flags & C_SUB) mdb_cursor_pop(mc); mdb_cursor_copy(mc, &mx);