diff options
Diffstat (limited to 'src/mongo/db/commands/dbhash.cpp')
-rw-r--r-- | src/mongo/db/commands/dbhash.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/mongo/db/commands/dbhash.cpp b/src/mongo/db/commands/dbhash.cpp index 2d686835f81..30ac4e43d5c 100644 --- a/src/mongo/db/commands/dbhash.cpp +++ b/src/mongo/db/commands/dbhash.cpp @@ -88,6 +88,22 @@ public: return false; } + ReadConcernSupportResult supportsReadConcern(const BSONObj& cmdObj, + repl::ReadConcernLevel level) const final { + + static const Status kReadConcernNotSupported{ErrorCodes::InvalidOptions, + "read concern not supported"}; + static const Status kDefaultReadConcernNotPermitted{ErrorCodes::InvalidOptions, + "default read concern not permitted"}; + // The dbHash command only supports local and snapshot read concern. Additionally, snapshot + // read concern is only supported if test commands are enabled. + return {{level != repl::ReadConcernLevel::kLocalReadConcern && + (!getTestCommandsEnabled() || + level != repl::ReadConcernLevel::kSnapshotReadConcern), + kReadConcernNotSupported}, + kDefaultReadConcernNotPermitted}; + } + virtual void addRequiredPrivileges(const std::string& dbname, const BSONObj& cmdObj, std::vector<Privilege>* out) const { |