summaryrefslogtreecommitdiff
path: root/src/mongo/db/pipeline/document_source_current_op.h
diff options
context:
space:
mode:
authorNick Zolnierz <nicholas.zolnierz@mongodb.com>2018-03-16 11:42:15 -0400
committerNick Zolnierz <nicholas.zolnierz@mongodb.com>2018-03-29 16:04:48 -0400
commit39cc06551ae9132e81d15ac702cba80133e12f68 (patch)
tree118bcb8ee56609227fc1dc59a7a180115298424b /src/mongo/db/pipeline/document_source_current_op.h
parentf2de49da9b28ee4e04534733db2748eae9e84124 (diff)
downloadmongo-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.h10
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;