summaryrefslogtreecommitdiff
path: root/src/mongo/dbtests/query_stage_tests.cpp
diff options
context:
space:
mode:
authorIan Boros <ian.boros@mongodb.com>2020-01-30 13:10:55 -0500
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-02-28 22:16:41 +0000
commitcfa5c05fa1855fb1a04cb3a6e2eb10a7e82bf726 (patch)
tree7ab1e1ce8e2edd6837952c131fe14d43a0633235 /src/mongo/dbtests/query_stage_tests.cpp
parent793ae32c597f197b6445750aa9bfdaabc206132d (diff)
downloadmongo-cfa5c05fa1855fb1a04cb3a6e2eb10a7e82bf726.tar.gz
SERVER-45406 Plumb ExpressionContext through PlanStage
This patch includes also moves ownership of the collator to the ExpressionContext.
Diffstat (limited to 'src/mongo/dbtests/query_stage_tests.cpp')
-rw-r--r--src/mongo/dbtests/query_stage_tests.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/mongo/dbtests/query_stage_tests.cpp b/src/mongo/dbtests/query_stage_tests.cpp
index 43a6c482131..e86d851c7a4 100644
--- a/src/mongo/dbtests/query_stage_tests.cpp
+++ b/src/mongo/dbtests/query_stage_tests.cpp
@@ -83,17 +83,14 @@ public:
int countResults(const IndexScanParams& params, BSONObj filterObj = BSONObj()) {
AutoGetCollectionForReadCommand ctx(&_opCtx, NamespaceString(ns()));
- const CollatorInterface* collator = nullptr;
- const boost::intrusive_ptr<ExpressionContext> expCtx(
- new ExpressionContext(&_opCtx, collator, NamespaceString(ns())));
StatusWithMatchExpression statusWithMatcher =
- MatchExpressionParser::parse(filterObj, expCtx);
+ MatchExpressionParser::parse(filterObj, _expCtx);
verify(statusWithMatcher.isOK());
unique_ptr<MatchExpression> filterExpr = std::move(statusWithMatcher.getValue());
unique_ptr<WorkingSet> ws = std::make_unique<WorkingSet>();
unique_ptr<IndexScan> ix =
- std::make_unique<IndexScan>(&_opCtx, params, ws.get(), filterExpr.get());
+ std::make_unique<IndexScan>(_expCtx.get(), params, ws.get(), filterExpr.get());
auto statusWithPlanExecutor = PlanExecutor::make(
&_opCtx, std::move(ws), std::move(ix), ctx.getCollection(), PlanExecutor::NO_YIELD);
@@ -150,6 +147,9 @@ protected:
const ServiceContext::UniqueOperationContext _txnPtr = cc().makeOperationContext();
OperationContext& _opCtx = *_txnPtr;
+ boost::intrusive_ptr<ExpressionContext> _expCtx =
+ new ExpressionContext(&_opCtx, nullptr, NamespaceString(ns()));
+
private:
DBDirectClient _client;
};