summaryrefslogtreecommitdiff
path: root/src/mongo/db/exec/count.cpp
diff options
context:
space:
mode:
authorQingyang Chen <qingyang.chen@10gen.com>2015-06-25 13:50:50 -0400
committerQingyang Chen <qingyang.chen@10gen.com>2015-06-29 16:05:26 -0400
commit9d72fd0f2f18b66423b9107e30cf2792656d2eab (patch)
tree20a29314d23e781d0e01ce9a8e877294abe6a6de /src/mongo/db/exec/count.cpp
parentd7466fbe4ec1be205945170f038bbc37737abcb1 (diff)
downloadmongo-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.cpp13
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 {