summaryrefslogtreecommitdiff
path: root/src/mongo/dbtests/query_stage_delete.cpp
diff options
context:
space:
mode:
authorQingyang Chen <qingyang.chen@10gen.com>2015-06-16 16:16:12 -0400
committerQingyang Chen <qingyang.chen@10gen.com>2015-06-22 13:17:31 -0400
commit3f6f66daac840fe2b2dc26eeeacbf015479567df (patch)
tree3b8f907c22f9ec41f1a72d1ea71f1dff8376a77d /src/mongo/dbtests/query_stage_delete.cpp
parent1e786585ae83e55e13016a6761a121b502c887f8 (diff)
downloadmongo-3f6f66daac840fe2b2dc26eeeacbf015479567df.tar.gz
SERVER-16889 query subsystem CanonicalQuery::canonicalize use StatusWith<unique_ptr> for ownership transfer
Diffstat (limited to 'src/mongo/dbtests/query_stage_delete.cpp')
-rw-r--r--src/mongo/dbtests/query_stage_delete.cpp25
1 files changed, 12 insertions, 13 deletions
diff --git a/src/mongo/dbtests/query_stage_delete.cpp b/src/mongo/dbtests/query_stage_delete.cpp
index 49a2d8709ae..e3d3ace2054 100644
--- a/src/mongo/dbtests/query_stage_delete.cpp
+++ b/src/mongo/dbtests/query_stage_delete.cpp
@@ -97,11 +97,10 @@ public:
}
}
- CanonicalQuery* canonicalize(const BSONObj& query) {
- CanonicalQuery* cq;
- Status status = CanonicalQuery::canonicalize(ns(), query, &cq);
- ASSERT_OK(status);
- return cq;
+ unique_ptr<CanonicalQuery> canonicalize(const BSONObj& query) {
+ auto statusWithCQ = CanonicalQuery::canonicalize(ns(), query);
+ ASSERT_OK(statusWithCQ.getStatus());
+ return std::move(statusWithCQ.getValue());
}
static size_t numObj() {
@@ -195,8 +194,8 @@ public:
const NamespaceString nss(ns());
const int targetDocIndex = 0;
const BSONObj query = BSON("foo" << BSON("$gte" << targetDocIndex));
- const std::unique_ptr<WorkingSet> ws(stdx::make_unique<WorkingSet>());
- const std::unique_ptr<CanonicalQuery> cq(canonicalize(query));
+ const unique_ptr<WorkingSet> ws(stdx::make_unique<WorkingSet>());
+ const unique_ptr<CanonicalQuery> cq(canonicalize(query));
// Get the RecordIds that would be returned by an in-order scan.
vector<RecordId> locs;
@@ -204,7 +203,7 @@ public:
// Configure a QueuedDataStage to pass the first object in the collection back in a
// LOC_AND_UNOWNED_OBJ state.
- std::unique_ptr<QueuedDataStage> qds(stdx::make_unique<QueuedDataStage>(ws.get()));
+ unique_ptr<QueuedDataStage> qds(stdx::make_unique<QueuedDataStage>(ws.get()));
WorkingSetMember member;
member.loc = locs[targetDocIndex];
member.state = WorkingSetMember::LOC_AND_UNOWNED_OBJ;
@@ -217,7 +216,7 @@ public:
deleteParams.returnDeleted = true;
deleteParams.canonicalQuery = cq.get();
- const std::unique_ptr<DeleteStage> deleteStage(
+ const unique_ptr<DeleteStage> deleteStage(
stdx::make_unique<DeleteStage>(&_txn, deleteParams, ws.get(), coll, qds.release()));
const DeleteStats* stats = static_cast<const DeleteStats*>(deleteStage->getSpecificStats());
@@ -260,11 +259,11 @@ public:
OldClientWriteContext ctx(&_txn, ns());
Collection* coll = ctx.getCollection();
const BSONObj query = BSONObj();
- const std::unique_ptr<WorkingSet> ws(stdx::make_unique<WorkingSet>());
- const std::unique_ptr<CanonicalQuery> cq(canonicalize(query));
+ const unique_ptr<WorkingSet> ws(stdx::make_unique<WorkingSet>());
+ const unique_ptr<CanonicalQuery> cq(canonicalize(query));
// Configure a QueuedDataStage to pass an OWNED_OBJ to the delete stage.
- std::unique_ptr<QueuedDataStage> qds(stdx::make_unique<QueuedDataStage>(ws.get()));
+ unique_ptr<QueuedDataStage> qds(stdx::make_unique<QueuedDataStage>(ws.get()));
WorkingSetMember member;
member.state = WorkingSetMember::OWNED_OBJ;
member.obj = Snapshotted<BSONObj>(SnapshotId(), fromjson("{x: 1}"));
@@ -276,7 +275,7 @@ public:
deleteParams.returnDeleted = true;
deleteParams.canonicalQuery = cq.get();
- const std::unique_ptr<DeleteStage> deleteStage(
+ const unique_ptr<DeleteStage> deleteStage(
stdx::make_unique<DeleteStage>(&_txn, deleteParams, ws.get(), coll, qds.release()));
const DeleteStats* stats = static_cast<const DeleteStats*>(deleteStage->getSpecificStats());