summaryrefslogtreecommitdiff
path: root/src/mongo/db/query/plan_executor_sbe.h
diff options
context:
space:
mode:
authorMartin Neupauer <xmaton@messengeruser.com>2021-04-13 15:36:07 -0400
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-04-15 19:10:38 +0000
commit71afd01ed1cc63f719a51b3f0aca844b4393f8ac (patch)
tree9d10e28aa19b507d295edb247565a543f7ef8baa /src/mongo/db/query/plan_executor_sbe.h
parent86944e90edd77e2ae1c7d83bb66f0a14ff99f43b (diff)
downloadmongo-71afd01ed1cc63f719a51b3f0aca844b4393f8ac.tar.gz
SERVER-55498 Prevent SBE from using unowned values from storage after
yield This is a part of the multi commit approach. Here we simplify BranchStage and UnionStage so they are immune to the problem with unowned values.
Diffstat (limited to 'src/mongo/db/query/plan_executor_sbe.h')
-rw-r--r--src/mongo/db/query/plan_executor_sbe.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/mongo/db/query/plan_executor_sbe.h b/src/mongo/db/query/plan_executor_sbe.h
index 06780001bdc..37c3edf22ae 100644
--- a/src/mongo/db/query/plan_executor_sbe.h
+++ b/src/mongo/db/query/plan_executor_sbe.h
@@ -143,6 +143,9 @@ private:
sbe::value::SlotAccessor* _result{nullptr};
sbe::value::SlotAccessor* _resultRecordId{nullptr};
+ sbe::value::TypeTags _tagLastRecordId{sbe::value::TypeTags::Nothing};
+ sbe::value::Value _valLastRecordId{0};
+
sbe::value::SlotAccessor* _oplogTs{nullptr};
boost::optional<sbe::value::SlotId> _resumeRecordIdSlot;