summaryrefslogtreecommitdiff
path: root/src/mongo/db/query/get_executor.h
diff options
context:
space:
mode:
authorCraig Harris <craig.harris@10gen.com>2014-06-25 17:06:03 -0400
committerCraigHarris <craig.harris@10gen.com>2014-07-08 10:53:53 -0400
commit0450a0f25d4509f6515e939a5ef3a671f744cc2a (patch)
treebd5004de51df5ebe4923a6af0863ab5c4b10f8fc /src/mongo/db/query/get_executor.h
parentb1048dc6f42e184c08853fe98c21a90ecfb40d6b (diff)
downloadmongo-0450a0f25d4509f6515e939a5ef3a671f744cc2a.tar.gz
SERVER-14387 Propogate OperationContext through calls requiring document read locks, without doing the locking.
Diffstat (limited to 'src/mongo/db/query/get_executor.h')
-rw-r--r--src/mongo/db/query/get_executor.h14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/mongo/db/query/get_executor.h b/src/mongo/db/query/get_executor.h
index fc78e302709..f1eb40db2db 100644
--- a/src/mongo/db/query/get_executor.h
+++ b/src/mongo/db/query/get_executor.h
@@ -1,5 +1,5 @@
/**
- * Copyright (C) 2013 10gen Inc.
+ * Copyright (C) 2013-2014 MongoDB Inc.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
@@ -62,7 +62,8 @@ namespace mongo {
* If the query cannot be executed, returns a Status indicating why. Deletes
* rawCanonicalQuery.
*/
- Status getExecutor(Collection* collection,
+ Status getExecutor(OperationContext* txn,
+ Collection* collection,
CanonicalQuery* canonicalQuery,
PlanExecutor** out,
size_t plannerOptions = 0);
@@ -94,7 +95,8 @@ namespace mongo {
* possible values of a certain field. As such, we can skip lots of data in certain cases (see
* body of method for detail).
*/
- Status getExecutorDistinct(Collection* collection,
+ Status getExecutorDistinct(OperationContext* txn,
+ Collection* collection,
const BSONObj& query,
const std::string& field,
PlanExecutor** out);
@@ -106,7 +108,8 @@ namespace mongo {
* As such, with certain covered queries, we can skip the overhead of fetching etc. when
* executing a count.
*/
- Status getExecutorCount(Collection* collection,
+ Status getExecutorCount(OperationContext* txn,
+ Collection* collection,
const BSONObj& query,
const BSONObj& hintObj,
PlanExecutor** execOut);
@@ -119,7 +122,8 @@ namespace mongo {
* Returns the resulting executor through 'execOut'. The caller must delete 'execOut',
* if an OK status is returned.
*/
- Status getExecutorAlwaysPlan(Collection* collection,
+ Status getExecutorAlwaysPlan(OperationContext* txn,
+ Collection* collection,
CanonicalQuery* canonicalQuery,
const QueryPlannerParams& plannerParams,
PlanExecutor** execOut);