diff options
author | Mark Benvenuto <mark.benvenuto@mongodb.com> | 2015-06-20 00:22:50 -0400 |
---|---|---|
committer | Mark Benvenuto <mark.benvenuto@mongodb.com> | 2015-06-20 10:56:02 -0400 |
commit | 9c2ed42daa8fbbef4a919c21ec564e2db55e8d60 (patch) | |
tree | 3814f79c10d7b490948d8cb7b112ac1dd41ceff1 /src/mongo/s/commands/cluster_drop_database_cmd.cpp | |
parent | 01965cf52bce6976637ecb8f4a622aeb05ab256a (diff) | |
download | mongo-9c2ed42daa8fbbef4a919c21ec564e2db55e8d60.tar.gz |
SERVER-18579: Clang-Format - reformat code, no comment reflow
Diffstat (limited to 'src/mongo/s/commands/cluster_drop_database_cmd.cpp')
-rw-r--r-- | src/mongo/s/commands/cluster_drop_database_cmd.cpp | 126 |
1 files changed, 62 insertions, 64 deletions
diff --git a/src/mongo/s/commands/cluster_drop_database_cmd.cpp b/src/mongo/s/commands/cluster_drop_database_cmd.cpp index 0cf6eec2f20..8ac6a6351d2 100644 --- a/src/mongo/s/commands/cluster_drop_database_cmd.cpp +++ b/src/mongo/s/commands/cluster_drop_database_cmd.cpp @@ -40,85 +40,83 @@ namespace mongo { - using std::shared_ptr; +using std::shared_ptr; namespace { - class DropDatabaseCmd : public Command { - public: - DropDatabaseCmd() : Command("dropDatabase") { } - - virtual bool slaveOk() const { - return true; +class DropDatabaseCmd : public Command { +public: + DropDatabaseCmd() : Command("dropDatabase") {} + + virtual bool slaveOk() const { + return true; + } + + virtual bool adminOnly() const { + return false; + } + + virtual bool isWriteCommandForConfigServer() const { + return false; + } + + virtual void addRequiredPrivileges(const std::string& dbname, + const BSONObj& cmdObj, + std::vector<Privilege>* out) { + ActionSet actions; + actions.addAction(ActionType::dropDatabase); + out->push_back(Privilege(ResourcePattern::forDatabaseName(dbname), actions)); + } + + virtual bool run(OperationContext* txn, + const std::string& dbname, + BSONObj& cmdObj, + int options, + std::string& errmsg, + BSONObjBuilder& result) { + // Disallow dropping the config database from mongos + if (dbname == "config") { + return appendCommandStatus( + result, Status(ErrorCodes::IllegalOperation, "Cannot drop the config database")); } - virtual bool adminOnly() const { - return false; - } + BSONElement e = cmdObj.firstElement(); - virtual bool isWriteCommandForConfigServer() const { - return false; + if (!e.isNumber() || e.number() != 1) { + errmsg = "invalid params"; + return 0; } - virtual void addRequiredPrivileges(const std::string& dbname, - const BSONObj& cmdObj, - std::vector<Privilege>* out) { - - ActionSet actions; - actions.addAction(ActionType::dropDatabase); - out->push_back(Privilege(ResourcePattern::forDatabaseName(dbname), actions)); - } - - virtual bool run(OperationContext* txn, - const std::string& dbname, - BSONObj& cmdObj, - int options, - std::string& errmsg, - BSONObjBuilder& result) { - - // Disallow dropping the config database from mongos - if (dbname == "config") { - return appendCommandStatus(result, Status(ErrorCodes::IllegalOperation, - "Cannot drop the config database")); - } - - BSONElement e = cmdObj.firstElement(); + // Refresh the database metadata + grid.catalogCache()->invalidate(dbname); - if (!e.isNumber() || e.number() != 1) { - errmsg = "invalid params"; - return 0; + auto status = grid.catalogCache()->getDatabase(dbname); + if (!status.isOK()) { + if (status == ErrorCodes::DatabaseNotFound) { + result.append("info", "database does not exist"); + return true; } - // Refresh the database metadata - grid.catalogCache()->invalidate(dbname); - - auto status = grid.catalogCache()->getDatabase(dbname); - if (!status.isOK()) { - if (status == ErrorCodes::DatabaseNotFound) { - result.append("info", "database does not exist"); - return true; - } - - return appendCommandStatus(result, status.getStatus()); - } - - log() << "DROP DATABASE: " << dbname; + return appendCommandStatus(result, status.getStatus()); + } - shared_ptr<DBConfig> conf = status.getValue(); + log() << "DROP DATABASE: " << dbname; - // TODO: Make dropping logic saner and more tolerant of partial drops. This is - // particularly important since a database drop can be aborted by *any* collection - // with a distributed namespace lock taken (migrates/splits) + shared_ptr<DBConfig> conf = status.getValue(); - if (!conf->dropDatabase(errmsg)) { - return false; - } + // TODO: Make dropping logic saner and more tolerant of partial drops. This is + // particularly important since a database drop can be aborted by *any* collection + // with a distributed namespace lock taken (migrates/splits) - result.append("dropped", dbname); - return true; + if (!conf->dropDatabase(errmsg)) { + return false; } - } clusterDropDatabaseCmd; + result.append("dropped", dbname); + return true; + } + +} clusterDropDatabaseCmd; -} // namespace -} // namespace mongo +} // namespace +} // namespace mongo |