diff options
author | Jason Rassi <rassi@10gen.com> | 2016-01-14 12:58:13 -0500 |
---|---|---|
committer | Jason Rassi <rassi@10gen.com> | 2016-01-14 15:12:38 -0500 |
commit | 09b89f0986550443a13af16b76ef04d91120bb2f (patch) | |
tree | 977b1fa1965ac1cba4e6b39b430e309636832305 /src/mongo/db/exec/index_scan.cpp | |
parent | 225ac6a226bc34bdae716c17f3b49f5a1a279e4e (diff) | |
download | mongo-09b89f0986550443a13af16b76ef04d91120bb2f.tar.gz |
SERVER-19377 PlanStage: make work() non-virt, add virt method doWork()
Changes PlanStage::work() to be non-virtual. PlanStage::work() now
updates _commonStats and calls new pure virtual method doWork().
Diffstat (limited to 'src/mongo/db/exec/index_scan.cpp')
-rw-r--r-- | src/mongo/db/exec/index_scan.cpp | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/src/mongo/db/exec/index_scan.cpp b/src/mongo/db/exec/index_scan.cpp index b9d74b21099..62058fc8d8f 100644 --- a/src/mongo/db/exec/index_scan.cpp +++ b/src/mongo/db/exec/index_scan.cpp @@ -121,12 +121,7 @@ boost::optional<IndexKeyEntry> IndexScan::initIndexScan() { } } -PlanStage::StageState IndexScan::work(WorkingSetID* out) { - ++_commonStats.works; - - // Adds the amount of time taken by work() to executionTimeMillis. - ScopedTimer timer(&_commonStats.executionTimeMillis); - +PlanStage::StageState IndexScan::doWork(WorkingSetID* out) { // Get the next kv pair from the index, if any. boost::optional<IndexKeyEntry> kv; try { @@ -176,7 +171,6 @@ PlanStage::StageState IndexScan::work(WorkingSetID* out) { case IndexBoundsChecker::MUST_ADVANCE: _scanState = NEED_SEEK; - _commonStats.needTime++; return PlanStage::NEED_TIME; } } @@ -195,14 +189,12 @@ PlanStage::StageState IndexScan::work(WorkingSetID* out) { if (!_returned.insert(kv->loc).second) { // We've seen this RecordId before. Skip it this time. ++_specificStats.dupsDropped; - ++_commonStats.needTime; return PlanStage::NEED_TIME; } } if (_filter) { if (!Filter::passes(kv->key, _keyPattern, _filter)) { - ++_commonStats.needTime; return PlanStage::NEED_TIME; } } @@ -224,7 +216,6 @@ PlanStage::StageState IndexScan::work(WorkingSetID* out) { } *out = id; - ++_commonStats.advanced; return PlanStage::ADVANCED; } |