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/db/commands/repair_cursor.cpp | |
parent | 01965cf52bce6976637ecb8f4a622aeb05ab256a (diff) | |
download | mongo-9c2ed42daa8fbbef4a919c21ec564e2db55e8d60.tar.gz |
SERVER-18579: Clang-Format - reformat code, no comment reflow
Diffstat (limited to 'src/mongo/db/commands/repair_cursor.cpp')
-rw-r--r-- | src/mongo/db/commands/repair_cursor.cpp | 144 |
1 files changed, 69 insertions, 75 deletions
diff --git a/src/mongo/db/commands/repair_cursor.cpp b/src/mongo/db/commands/repair_cursor.cpp index 0598b67b9c3..5cf096fc511 100644 --- a/src/mongo/db/commands/repair_cursor.cpp +++ b/src/mongo/db/commands/repair_cursor.cpp @@ -42,83 +42,77 @@ namespace mongo { - using std::string; - - class RepairCursorCmd : public Command { - public: - RepairCursorCmd() : Command("repairCursor") {} - - virtual bool isWriteCommandForConfigServer() const { return false; } - virtual bool slaveOk() const { return true; } - - virtual Status checkAuthForCommand(ClientBasic* client, - const std::string& dbname, - const BSONObj& cmdObj) { - ActionSet actions; - actions.addAction(ActionType::find); - Privilege p(parseResourcePattern(dbname, cmdObj), actions); - if (AuthorizationSession::get(client)->isAuthorizedForPrivilege(p)) - return Status::OK(); - return Status(ErrorCodes::Unauthorized, "Unauthorized"); +using std::string; + +class RepairCursorCmd : public Command { +public: + RepairCursorCmd() : Command("repairCursor") {} + + virtual bool isWriteCommandForConfigServer() const { + return false; + } + virtual bool slaveOk() const { + return true; + } + + virtual Status checkAuthForCommand(ClientBasic* client, + const std::string& dbname, + const BSONObj& cmdObj) { + ActionSet actions; + actions.addAction(ActionType::find); + Privilege p(parseResourcePattern(dbname, cmdObj), actions); + if (AuthorizationSession::get(client)->isAuthorizedForPrivilege(p)) + return Status::OK(); + return Status(ErrorCodes::Unauthorized, "Unauthorized"); + } + + virtual bool run(OperationContext* txn, + const string& dbname, + BSONObj& cmdObj, + int options, + string& errmsg, + BSONObjBuilder& result) { + NamespaceString ns(parseNs(dbname, cmdObj)); + + AutoGetCollectionForRead ctx(txn, ns.ns()); + + Collection* collection = ctx.getCollection(); + if (!collection) { + return appendCommandStatus( + result, Status(ErrorCodes::NamespaceNotFound, "ns does not exist: " + ns.ns())); } - virtual bool run(OperationContext* txn, - const string& dbname, - BSONObj& cmdObj, - int options, - string& errmsg, - BSONObjBuilder& result) { - - NamespaceString ns(parseNs(dbname, cmdObj)); - - AutoGetCollectionForRead ctx(txn, ns.ns()); - - Collection* collection = ctx.getCollection(); - if (!collection) { - return appendCommandStatus(result, - Status(ErrorCodes::NamespaceNotFound, - "ns does not exist: " + ns.ns())); - } - - auto cursor = collection->getRecordStore()->getCursorForRepair(txn); - if (!cursor) { - return appendCommandStatus(result, - Status(ErrorCodes::CommandNotSupported, - "repair iterator not supported")); - } - - std::unique_ptr<WorkingSet> ws(new WorkingSet()); - std::unique_ptr<MultiIteratorStage> stage(new MultiIteratorStage(txn, ws.get(), - collection)); - stage->addIterator(std::move(cursor)); - - PlanExecutor* rawExec; - Status execStatus = PlanExecutor::make(txn, - ws.release(), - stage.release(), - collection, - PlanExecutor::YIELD_AUTO, - &rawExec); - invariant(execStatus.isOK()); - std::unique_ptr<PlanExecutor> exec(rawExec); - - // 'exec' will be used in getMore(). It was automatically registered on construction - // due to the auto yield policy, so it could yield during plan selection. We deregister - // it now so that it can be registed with ClientCursor. - exec->deregisterExec(); - exec->saveState(); - - // ClientCursors' constructor inserts them into a global map that manages their - // lifetimes. That is why the next line isn't leaky. - ClientCursor* cc = new ClientCursor(collection->getCursorManager(), - exec.release(), - ns.ns()); - - appendCursorResponseObject(cc->cursorid(), ns.ns(), BSONArray(), &result); - - return true; - + auto cursor = collection->getRecordStore()->getCursorForRepair(txn); + if (!cursor) { + return appendCommandStatus( + result, Status(ErrorCodes::CommandNotSupported, "repair iterator not supported")); } - } repairCursorCmd; + std::unique_ptr<WorkingSet> ws(new WorkingSet()); + std::unique_ptr<MultiIteratorStage> stage( + new MultiIteratorStage(txn, ws.get(), collection)); + stage->addIterator(std::move(cursor)); + + PlanExecutor* rawExec; + Status execStatus = PlanExecutor::make( + txn, ws.release(), stage.release(), collection, PlanExecutor::YIELD_AUTO, &rawExec); + invariant(execStatus.isOK()); + std::unique_ptr<PlanExecutor> exec(rawExec); + + // 'exec' will be used in getMore(). It was automatically registered on construction + // due to the auto yield policy, so it could yield during plan selection. We deregister + // it now so that it can be registed with ClientCursor. + exec->deregisterExec(); + exec->saveState(); + + // ClientCursors' constructor inserts them into a global map that manages their + // lifetimes. That is why the next line isn't leaky. + ClientCursor* cc = + new ClientCursor(collection->getCursorManager(), exec.release(), ns.ns()); + + appendCursorResponseObject(cc->cursorid(), ns.ns(), BSONArray(), &result); + + return true; + } +} repairCursorCmd; } |