diff options
Diffstat (limited to 'src/mongo/db/exec/working_set_common.cpp')
-rw-r--r-- | src/mongo/db/exec/working_set_common.cpp | 31 |
1 files changed, 0 insertions, 31 deletions
diff --git a/src/mongo/db/exec/working_set_common.cpp b/src/mongo/db/exec/working_set_common.cpp index cdd4b2227eb..4439af31ba8 100644 --- a/src/mongo/db/exec/working_set_common.cpp +++ b/src/mongo/db/exec/working_set_common.cpp @@ -39,38 +39,7 @@ namespace mongo { -// static -bool WorkingSetCommon::fetchAndInvalidateRecordId(OperationContext* opCtx, - WorkingSetMember* member, - const Collection* collection) { - // Already in our desired state. - if (member->getState() == WorkingSetMember::OWNED_OBJ) { - return true; - } - - // We can't do anything without a RecordId. - if (!member->hasRecordId()) { - return false; - } - - // Do the fetch, invalidate the DL. - member->obj = collection->docFor(opCtx, member->recordId); - member->obj.setValue(member->obj.value().getOwned()); - member->recordId = RecordId(); - member->transitionToOwnedObj(); - - return true; -} - void WorkingSetCommon::prepareForSnapshotChange(WorkingSet* workingSet) { - if (!supportsDocLocking()) { - // Non doc-locking storage engines use invalidations, so we don't need to examine the - // buffered working set ids. But we do need to clear the set of ids in order to keep our - // memory utilization in check. - workingSet->getAndClearYieldSensitiveIds(); - return; - } - for (auto id : workingSet->getAndClearYieldSensitiveIds()) { if (workingSet->isFree(id)) { continue; |