diff options
author | Nick Zolnierz <nicholas.zolnierz@mongodb.com> | 2018-03-16 11:42:15 -0400 |
---|---|---|
committer | Nick Zolnierz <nicholas.zolnierz@mongodb.com> | 2018-03-29 16:04:48 -0400 |
commit | 39cc06551ae9132e81d15ac702cba80133e12f68 (patch) | |
tree | 118bcb8ee56609227fc1dc59a7a180115298424b /src/mongo/db/pipeline/document_source_current_op.h | |
parent | f2de49da9b28ee4e04534733db2748eae9e84124 (diff) | |
download | mongo-39cc06551ae9132e81d15ac702cba80133e12f68.tar.gz |
SERVER-33918: Support $changeStream against all collections in a database for a replica set only
Diffstat (limited to 'src/mongo/db/pipeline/document_source_current_op.h')
-rw-r--r-- | src/mongo/db/pipeline/document_source_current_op.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/mongo/db/pipeline/document_source_current_op.h b/src/mongo/db/pipeline/document_source_current_op.h index d655c0ed2bf..c1f3e4654c1 100644 --- a/src/mongo/db/pipeline/document_source_current_op.h +++ b/src/mongo/db/pipeline/document_source_current_op.h @@ -39,6 +39,8 @@ public: using LocalOpsMode = MongoProcessInterface::CurrentOpLocalOpsMode; using UserMode = MongoProcessInterface::CurrentOpUserMode; + static constexpr StringData kStageName = "$currentOp"_sd; + class LiteParsed final : public LiteParsedDocumentSource { public: static std::unique_ptr<LiteParsed> parse(const AggregationRequest& request, @@ -77,6 +79,14 @@ public: return true; } + void assertSupportsReadConcern(const repl::ReadConcernArgs& readConcern) const { + uassert(ErrorCodes::InvalidOptions, + str::stream() << "Aggregation stage " << kStageName + << " requires read concern local but found " + << readConcern.toString(), + readConcern.getLevel() == repl::ReadConcernLevel::kLocalReadConcern); + } + private: const UserMode _allUsers; const LocalOpsMode _localOps; |