diff options
author | Qingyang Chen <qingyang.chen@10gen.com> | 2015-06-25 13:50:50 -0400 |
---|---|---|
committer | Qingyang Chen <qingyang.chen@10gen.com> | 2015-06-29 16:05:26 -0400 |
commit | 9d72fd0f2f18b66423b9107e30cf2792656d2eab (patch) | |
tree | 20a29314d23e781d0e01ce9a8e877294abe6a6de /src/mongo/db/exec/count.cpp | |
parent | d7466fbe4ec1be205945170f038bbc37737abcb1 (diff) | |
download | mongo-9d72fd0f2f18b66423b9107e30cf2792656d2eab.tar.gz |
SERVER-16889.5 PlanExecutor::getStats() and PlanStage::getStats() return unique_ptr
Diffstat (limited to 'src/mongo/db/exec/count.cpp')
-rw-r--r-- | src/mongo/db/exec/count.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/mongo/db/exec/count.cpp b/src/mongo/db/exec/count.cpp index 092c36dfc03..55e080d8c14 100644 --- a/src/mongo/db/exec/count.cpp +++ b/src/mongo/db/exec/count.cpp @@ -33,11 +33,13 @@ #include "mongo/db/catalog/collection.h" #include "mongo/db/exec/scoped_timer.h" #include "mongo/db/exec/working_set_common.h" +#include "mongo/stdx/memory.h" namespace mongo { using std::unique_ptr; using std::vector; +using stdx::make_unique; // static const char* CountStage::kStageType = "COUNT"; @@ -193,15 +195,14 @@ vector<PlanStage*> CountStage::getChildren() const { return children; } -PlanStageStats* CountStage::getStats() { +unique_ptr<PlanStageStats> CountStage::getStats() { _commonStats.isEOF = isEOF(); - unique_ptr<PlanStageStats> ret(new PlanStageStats(_commonStats, STAGE_COUNT)); - CountStats* countStats = new CountStats(_specificStats); - ret->specific.reset(countStats); + unique_ptr<PlanStageStats> ret = make_unique<PlanStageStats>(_commonStats, STAGE_COUNT); + ret->specific = make_unique<CountStats>(_specificStats); if (_child.get()) { - ret->children.push_back(_child->getStats()); + ret->children.push_back(_child->getStats().release()); } - return ret.release(); + return ret; } const CommonStats* CountStage::getCommonStats() const { |