diff options
Diffstat (limited to 'src/mongo/db/pipeline/document_source_match.h')
-rw-r--r-- | src/mongo/db/pipeline/document_source_match.h | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/mongo/db/pipeline/document_source_match.h b/src/mongo/db/pipeline/document_source_match.h index 0b5800515aa..2be99dd7f12 100644 --- a/src/mongo/db/pipeline/document_source_match.h +++ b/src/mongo/db/pipeline/document_source_match.h @@ -37,18 +37,21 @@ namespace mongo { -class DocumentSourceMatch final : public DocumentSource { +class DocumentSourceMatch : public DocumentSource { public: - // virtuals from DocumentSource + virtual ~DocumentSourceMatch() = default; + GetNextResult getNext() final; - const char* getSourceName() const final; - Value serialize(boost::optional<ExplainOptions::Verbosity> explain = boost::none) const final; boost::intrusive_ptr<DocumentSource> optimize() final; BSONObjSet getOutputSorts() final { return pSource ? pSource->getOutputSorts() : SimpleBSONObjComparator::kInstance.makeBSONObjSet(); } + const char* getSourceName() const override; + Value serialize( + boost::optional<ExplainOptions::Verbosity> explain = boost::none) const override; + /** * Attempts to combine with any subsequent $match stages, joining the query objects with a * $and. @@ -141,10 +144,11 @@ public: const std::string& path, const boost::intrusive_ptr<ExpressionContext>& expCtx); -private: +protected: DocumentSourceMatch(const BSONObj& query, const boost::intrusive_ptr<ExpressionContext>& pExpCtx); +private: void addDependencies(DepsTracker* deps) const; std::unique_ptr<MatchExpression> _expression; |