diff options
author | Tess Avitabile <tess.avitabile@mongodb.com> | 2017-09-14 16:40:46 -0400 |
---|---|---|
committer | Tess Avitabile <tess.avitabile@mongodb.com> | 2017-09-29 09:30:56 -0400 |
commit | e0a505e2a8bfe59d8bdfc4e5a25aef4861d58fcf (patch) | |
tree | 237c46d1e4fd1080ac58b890485fb6197d53484c /src/mongo/db/ops/update.cpp | |
parent | 026b5f6f38c883c48d063ac8ee736f7330227281 (diff) | |
download | mongo-e0a505e2a8bfe59d8bdfc4e5a25aef4861d58fcf.tar.gz |
SERVER-30731 MatchExpressionParser::parse() should require an ExpressionContext
Diffstat (limited to 'src/mongo/db/ops/update.cpp')
-rw-r--r-- | src/mongo/db/ops/update.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/mongo/db/ops/update.cpp b/src/mongo/db/ops/update.cpp index 9c661c03925..8c5b31ab53a 100644 --- a/src/mongo/db/ops/update.cpp +++ b/src/mongo/db/ops/update.cpp @@ -108,8 +108,12 @@ UpdateResult update(OperationContext* opCtx, Database* db, const UpdateRequest& return UpdateStage::makeUpdateResult(updateStats); } -BSONObj applyUpdateOperators(const BSONObj& from, const BSONObj& operators) { - UpdateDriver::Options opts; +BSONObj applyUpdateOperators(OperationContext* opCtx, + const BSONObj& from, + const BSONObj& operators) { + const CollatorInterface* collator = nullptr; + boost::intrusive_ptr<ExpressionContext> expCtx(new ExpressionContext(opCtx, collator)); + UpdateDriver::Options opts(std::move(expCtx)); UpdateDriver driver(opts); std::map<StringData, std::unique_ptr<ExpressionWithPlaceholder>> arrayFilters; Status status = driver.parse(operators, arrayFilters); |