diff options
author | Drew Paroski <drew.paroski@mongodb.com> | 2020-10-14 18:58:23 -0400 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2020-11-13 02:05:25 +0000 |
commit | 0cffa0c8c7fcf345a4e2b2013832e6d245a67c1d (patch) | |
tree | dc537be8cf9fe9e028ae9e8de651428aca78b6ce /src/mongo/db/query/sbe_stage_builder_coll_scan.h | |
parent | 31a7ccd430117935a3582775690c426624a6338d (diff) | |
download | mongo-0cffa0c8c7fcf345a4e2b2013832e6d245a67c1d.tar.gz |
SERVER-49536 SBE stage builder is broken for SORT when SORT comes before FETCH
Diffstat (limited to 'src/mongo/db/query/sbe_stage_builder_coll_scan.h')
-rw-r--r-- | src/mongo/db/query/sbe_stage_builder_coll_scan.h | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/src/mongo/db/query/sbe_stage_builder_coll_scan.h b/src/mongo/db/query/sbe_stage_builder_coll_scan.h index 338c5cff894..86c56fd6154 100644 --- a/src/mongo/db/query/sbe_stage_builder_coll_scan.h +++ b/src/mongo/db/query/sbe_stage_builder_coll_scan.h @@ -36,6 +36,9 @@ #include "mongo/db/query/query_solution.h" namespace mongo::stage_builder { + +class PlanStageSlots; + /** * Generates an SBE plan stage sub-tree implementing an collection scan. * @@ -48,17 +51,15 @@ namespace mongo::stage_builder { * * In cases of an error, throws. */ -std::tuple<sbe::value::SlotId, - sbe::value::SlotId, - boost::optional<sbe::value::SlotId>, - std::unique_ptr<sbe::PlanStage>> -generateCollScan(OperationContext* opCtx, - const CollectionPtr& collection, - const CollectionScanNode* csn, - sbe::value::SlotIdGenerator* slotIdGenerator, - sbe::value::FrameIdGenerator* frameIdGenerator, - PlanYieldPolicy* yieldPolicy, - sbe::RuntimeEnvironment* env, - bool isTailableResumeBranch, - TrialRunProgressTracker* tracker); +std::pair<std::unique_ptr<sbe::PlanStage>, PlanStageSlots> generateCollScan( + OperationContext* opCtx, + const CollectionPtr& collection, + const CollectionScanNode* csn, + sbe::value::SlotIdGenerator* slotIdGenerator, + sbe::value::FrameIdGenerator* frameIdGenerator, + PlanYieldPolicy* yieldPolicy, + sbe::RuntimeEnvironment* env, + bool isTailableResumeBranch, + TrialRunProgressTracker* tracker); + } // namespace mongo::stage_builder |