summaryrefslogtreecommitdiff
path: root/src/mongo/db/commands/count.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/commands/count.cpp')
-rw-r--r--src/mongo/db/commands/count.cpp18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/mongo/db/commands/count.cpp b/src/mongo/db/commands/count.cpp
index e91b6e12fb5..d102bedf5df 100644
--- a/src/mongo/db/commands/count.cpp
+++ b/src/mongo/db/commands/count.cpp
@@ -77,8 +77,8 @@ namespace mongo {
request.explain = true;
// Acquire the db read lock.
- Client::ReadContext ctx(txn, request.ns);
- Collection* collection = ctx.ctx().db()->getCollection(txn, request.ns);
+ AutoGetCollectionForRead ctx(txn, request.ns);
+ Collection* collection = ctx.getCollection();
PlanExecutor* rawExec;
Status getExecStatus = getExecutorCount(txn, collection, request, &rawExec);
@@ -105,8 +105,8 @@ namespace mongo {
return appendCommandStatus(result, parseStatus);
}
- Client::ReadContext ctx(txn, request.ns);
- Collection* collection = ctx.ctx().db()->getCollection(txn, request.ns);
+ AutoGetCollectionForRead ctx(txn, request.ns);
+ Collection* collection = ctx.getCollection();
PlanExecutor* rawExec;
Status getExecStatus = getExecutorCount(txn, collection, request, &rawExec);
@@ -234,19 +234,19 @@ namespace mongo {
string &err,
int &errCode) {
- // Lock 'ns'.
- Client::ReadContext ctx(txn, ns);
- Collection* collection = ctx.ctx().db()->getCollection(txn, ns);
- const string& dbname = ctx.ctx().db()->name();
+ AutoGetCollectionForRead ctx(txn, ns);
+ Collection* collection = ctx.getCollection();
if (NULL == collection) {
err = "ns missing";
return -1;
}
+ const NamespaceString nss(ns);
+
CountRequest request;
CmdCount* countComm = static_cast<CmdCount*>(Command::findCommand("count"));
- Status parseStatus = countComm->parseRequest(dbname, cmd, &request);
+ Status parseStatus = countComm->parseRequest(nss.db().toString(), cmd, &request);
if (!parseStatus.isOK()) {
err = parseStatus.reason();
errCode = parseStatus.code();