diff options
author | Charlie Swanson <cswanson310@gmail.com> | 2016-08-29 14:26:29 -0400 |
---|---|---|
committer | Charlie Swanson <cswanson310@gmail.com> | 2016-09-01 14:08:25 -0400 |
commit | 698cd2555dabf2ab6c1ed4c504d1e2546da0f57a (patch) | |
tree | 206a17f69cf6a1720cb153ba90c29acfd7f565f2 /src/mongo/db/pipeline/document_source_match.cpp | |
parent | b1014fe1b40a69cd90b27cb336a170317eecc6b7 (diff) | |
download | mongo-698cd2555dabf2ab6c1ed4c504d1e2546da0f57a.tar.gz |
SERVER-24153 Split document_source_test.cpp into one file per stage.
Diffstat (limited to 'src/mongo/db/pipeline/document_source_match.cpp')
-rw-r--r-- | src/mongo/db/pipeline/document_source_match.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/mongo/db/pipeline/document_source_match.cpp b/src/mongo/db/pipeline/document_source_match.cpp index 8478cb387b4..f5c4432bc31 100644 --- a/src/mongo/db/pipeline/document_source_match.cpp +++ b/src/mongo/db/pipeline/document_source_match.cpp @@ -450,13 +450,19 @@ static void uassertNoDisallowedClauses(BSONObj query) { } } +intrusive_ptr<DocumentSourceMatch> DocumentSourceMatch::create( + BSONObj filter, const intrusive_ptr<ExpressionContext>& expCtx) { + uassertNoDisallowedClauses(filter); + intrusive_ptr<DocumentSourceMatch> match(new DocumentSourceMatch(filter, expCtx)); + match->injectExpressionContext(expCtx); + return match; +} + intrusive_ptr<DocumentSource> DocumentSourceMatch::createFromBson( BSONElement elem, const intrusive_ptr<ExpressionContext>& pExpCtx) { uassert(15959, "the match filter must be an expression in an object", elem.type() == Object); - uassertNoDisallowedClauses(elem.Obj()); - - return new DocumentSourceMatch(elem.Obj(), pExpCtx); + return DocumentSourceMatch::create(elem.Obj(), pExpCtx); } BSONObj DocumentSourceMatch::getQuery() const { |