From c23b10e1d2af18ca042443d9544e46f30eeb3318 Mon Sep 17 00:00:00 2001 From: Doug Hoyte Date: Mon, 4 Sep 2023 15:44:35 -0400 Subject: [PATCH] fix 'unable to lookup event by levId' crash This happened when a non-indexOnly scan was paused and then one of the buffered levIds was deleted or replaced before the scan resumed --- src/DBQuery.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/DBQuery.h b/src/DBQuery.h index 9ca6b7e..cd6cacc 100644 --- a/src/DBQuery.h +++ b/src/DBQuery.h @@ -265,7 +265,8 @@ struct DBScan : NonCopyable { if (f.doesMatchTimes(ev.created())) doSend = true; } else { approxWork += 10; - if (f.doesMatch(lookupEventByLevId(txn, levId).flat_nested())) doSend = true; + auto view = env.lookup_Event(txn, levId); + if (view && f.doesMatch(view->flat_nested())) doSend = true; } if (doSend) {