summaryrefslogtreecommitdiff
path: root/src/mongo/db/exec/collection_scan.h
diff options
context:
space:
mode:
authorMathias Stearn <mathias@10gen.com>2015-07-06 19:16:30 -0400
committerMathias Stearn <mathias@10gen.com>2015-07-16 14:37:02 -0400
commitb9d2e18ca68246e5d21ed42a846ff4094867f159 (patch)
treecdbbac6dc5ee00404cf6452f5dd70612983127e3 /src/mongo/db/exec/collection_scan.h
parentc832bc753c29f91597b75fa02c0d9019c3c20b0f (diff)
downloadmongo-b9d2e18ca68246e5d21ed42a846ff4094867f159.tar.gz
SERVER-17364 Don't stash RecoveryUnits across getMores
We now tell PlanExecutors to detach from their OperationContexts and to shed all storage engine resources before stashing the ClientCursor. This is a heavier weight operation than a normal save/restoreState which is no longer allowed to change the OperationContext.
Diffstat (limited to 'src/mongo/db/exec/collection_scan.h')
-rw-r--r--src/mongo/db/exec/collection_scan.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mongo/db/exec/collection_scan.h b/src/mongo/db/exec/collection_scan.h
index 856af5e10ad..e08d583a7a3 100644
--- a/src/mongo/db/exec/collection_scan.h
+++ b/src/mongo/db/exec/collection_scan.h
@@ -59,7 +59,9 @@ public:
virtual void doInvalidate(OperationContext* txn, const RecordId& dl, InvalidationType type);
virtual void doSaveState();
- virtual void doRestoreState(OperationContext* opCtx);
+ virtual void doRestoreState();
+ virtual void doDetachFromOperationContext();
+ virtual void doReattachToOperationContext(OperationContext* opCtx);
virtual StageType stageType() const {
return STAGE_COLLSCAN;