diff options
author | matt dannenberg <matt.dannenberg@10gen.com> | 2013-09-12 14:36:47 -0400 |
---|---|---|
committer | matt dannenberg <matt.dannenberg@10gen.com> | 2013-09-18 13:54:10 -0400 |
commit | 62309f042fd7aee9cbc7be939c3d6b5db695cbfc (patch) | |
tree | 797e8b2f1f33f064d5e12aeb5d2ecf8e0d64d1de /src/mongo/db/commands | |
parent | 00f71c5019377b888fd847fcbec46902d3f6904e (diff) | |
download | mongo-62309f042fd7aee9cbc7be939c3d6b5db695cbfc.tar.gz |
SERVER-9441 do not allow distinct/aggregate without slaveOk
Diffstat (limited to 'src/mongo/db/commands')
-rw-r--r-- | src/mongo/db/commands/distinct.cpp | 3 | ||||
-rw-r--r-- | src/mongo/db/commands/pipeline_command.cpp | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/mongo/db/commands/distinct.cpp b/src/mongo/db/commands/distinct.cpp index df960e0ff98..68a6ba306d6 100644 --- a/src/mongo/db/commands/distinct.cpp +++ b/src/mongo/db/commands/distinct.cpp @@ -47,7 +47,8 @@ namespace mongo { class DistinctCommand : public Command { public: DistinctCommand() : Command("distinct") {} - virtual bool slaveOk() const { return true; } + virtual bool slaveOk() const { return false; } + virtual bool slaveOverrideOk() const { return true; } virtual LockType locktype() const { return READ; } virtual void addRequiredPrivileges(const std::string& dbname, const BSONObj& cmdObj, diff --git a/src/mongo/db/commands/pipeline_command.cpp b/src/mongo/db/commands/pipeline_command.cpp index 1675a0e077a..e2aba14f516 100644 --- a/src/mongo/db/commands/pipeline_command.cpp +++ b/src/mongo/db/commands/pipeline_command.cpp @@ -208,7 +208,8 @@ namespace mongo { // Locks are managed manually, in particular by DocumentSourceCursor. virtual LockType locktype() const { return NONE; } - virtual bool slaveOk() const { return true; } + virtual bool slaveOk() const { return false; } + virtual bool slaveOverrideOk() const { return true; } virtual void help(stringstream &help) const { help << "{ pipeline : [ { <data-pipe-op>: {...}}, ... ] }"; } |