summaryrefslogtreecommitdiff
path: root/src/mongo/db/exec/count_scan.cpp
diff options
context:
space:
mode:
authorDavid Storch <david.storch@10gen.com>2016-01-20 18:20:36 -0500
committerDavid Storch <david.storch@10gen.com>2016-01-29 13:29:43 -0500
commitdac2f722f8aaec2917dce98862d58abde2605f7a (patch)
treebbf0f3d1f71f9419f36ad7550e00c329a2e6e76e /src/mongo/db/exec/count_scan.cpp
parent0bbec1a32eabf241094ff29732f5a646a893f052 (diff)
downloadmongo-dac2f722f8aaec2917dce98862d58abde2605f7a.tar.gz
SERVER-22133 generate COUNT_SCAN plans properly from the plan cache
Diffstat (limited to 'src/mongo/db/exec/count_scan.cpp')
-rw-r--r--src/mongo/db/exec/count_scan.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/mongo/db/exec/count_scan.cpp b/src/mongo/db/exec/count_scan.cpp
index 035f6b15a02..e65e7977c55 100644
--- a/src/mongo/db/exec/count_scan.cpp
+++ b/src/mongo/db/exec/count_scan.cpp
@@ -105,7 +105,11 @@ PlanStage::StageState CountScan::doWork(WorkingSetID* out) {
return PlanStage::NEED_TIME;
}
- *out = WorkingSet::INVALID_ID;
+ WorkingSetID id = _workingSet->allocate();
+ WorkingSetMember* member = _workingSet->get(id);
+ member->obj = Snapshotted<BSONObj>(SnapshotId(), BSONObj().getOwned());
+ member->transitionToOwnedObj();
+ *out = id;
return PlanStage::ADVANCED;
}