diff options
author | Qingyang Chen <qingyang.chen@10gen.com> | 2015-06-16 16:16:12 -0400 |
---|---|---|
committer | Qingyang Chen <qingyang.chen@10gen.com> | 2015-06-22 13:17:31 -0400 |
commit | 3f6f66daac840fe2b2dc26eeeacbf015479567df (patch) | |
tree | 3b8f907c22f9ec41f1a72d1ea71f1dff8376a77d /src/mongo/dbtests/query_stage_delete.cpp | |
parent | 1e786585ae83e55e13016a6761a121b502c887f8 (diff) | |
download | mongo-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.cpp | 25 |
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()); |