diff options
author | Evgeni Dobranov <evgeni.dobranov@mongodb.com> | 2019-09-30 20:02:19 +0000 |
---|---|---|
committer | evergreen <evergreen@mongodb.com> | 2019-09-30 20:02:19 +0000 |
commit | 344e1b0f3ce5caf0d4760dddc8b2d196d4b73fe8 (patch) | |
tree | 14567c05e50661f6fb3b983a2b19a26abfe4a22c /src/mongo/dbtests | |
parent | 25b63d9ff12ebdfde549288ebaa7ff27c6945dd7 (diff) | |
download | mongo-344e1b0f3ce5caf0d4760dddc8b2d196d4b73fe8.tar.gz |
SERVER-41496 Remove Database::getCollection() and replace with CollectionCatalog::get().lookupCollectionByNamespace()
Diffstat (limited to 'src/mongo/dbtests')
-rw-r--r-- | src/mongo/dbtests/counttests.cpp | 2 | ||||
-rw-r--r-- | src/mongo/dbtests/dbtests.cpp | 5 | ||||
-rw-r--r-- | src/mongo/dbtests/dbtests.h | 2 | ||||
-rw-r--r-- | src/mongo/dbtests/pdfiletests.cpp | 12 | ||||
-rw-r--r-- | src/mongo/dbtests/plan_executor_invalidation_test.cpp | 14 | ||||
-rw-r--r-- | src/mongo/dbtests/query_plan_executor.cpp | 5 | ||||
-rw-r--r-- | src/mongo/dbtests/query_stage_count_scan.cpp | 3 | ||||
-rw-r--r-- | src/mongo/dbtests/query_stage_fetch.cpp | 4 | ||||
-rw-r--r-- | src/mongo/dbtests/query_stage_merge_sort.cpp | 20 | ||||
-rw-r--r-- | src/mongo/dbtests/query_stage_sort.cpp | 12 | ||||
-rw-r--r-- | src/mongo/dbtests/query_stage_update.cpp | 3 | ||||
-rw-r--r-- | src/mongo/dbtests/querytests.cpp | 4 | ||||
-rw-r--r-- | src/mongo/dbtests/repltests.cpp | 10 | ||||
-rw-r--r-- | src/mongo/dbtests/rollbacktests.cpp | 32 |
14 files changed, 65 insertions, 63 deletions
diff --git a/src/mongo/dbtests/counttests.cpp b/src/mongo/dbtests/counttests.cpp index 41ad97c5203..a5a614016da 100644 --- a/src/mongo/dbtests/counttests.cpp +++ b/src/mongo/dbtests/counttests.cpp @@ -51,7 +51,7 @@ public: { WriteUnitOfWork wunit(&_opCtx); - _collection = _database->getCollection(&_opCtx, nss()); + _collection = CollectionCatalog::get(&_opCtx).lookupCollectionByNamespace(nss()); if (_collection) { _database->dropCollection(&_opCtx, nss()).transitional_ignore(); } diff --git a/src/mongo/dbtests/dbtests.cpp b/src/mongo/dbtests/dbtests.cpp index 62238c52cf7..bba6a636a30 100644 --- a/src/mongo/dbtests/dbtests.cpp +++ b/src/mongo/dbtests/dbtests.cpp @@ -99,7 +99,10 @@ Status createIndexFromSpec(OperationContext* opCtx, StringData ns, const BSONObj Collection* coll; { WriteUnitOfWork wunit(opCtx); - coll = autoDb.getDb()->getOrCreateCollection(opCtx, NamespaceString(ns)); + coll = CollectionCatalog::get(opCtx).lookupCollectionByNamespace(NamespaceString(ns)); + if (!coll) { + coll = autoDb.getDb()->createCollection(opCtx, NamespaceString(ns)); + } invariant(coll); wunit.commit(); } diff --git a/src/mongo/dbtests/dbtests.h b/src/mongo/dbtests/dbtests.h index e64772a11b7..f0b0166aecb 100644 --- a/src/mongo/dbtests/dbtests.h +++ b/src/mongo/dbtests/dbtests.h @@ -80,7 +80,7 @@ public: } Collection* getCollection() const { - return db()->getCollection(_opCtx, _nss); + return CollectionCatalog::get(_opCtx).lookupCollectionByNamespace(_nss); } private: diff --git a/src/mongo/dbtests/pdfiletests.cpp b/src/mongo/dbtests/pdfiletests.cpp index b4f09c83c52..a57a3fb0619 100644 --- a/src/mongo/dbtests/pdfiletests.cpp +++ b/src/mongo/dbtests/pdfiletests.cpp @@ -60,7 +60,7 @@ protected: return NamespaceString("unittests.pdfiletests.Insert"); } Collection* collection() { - return _context.db()->getCollection(&_opCtx, nss()); + return CollectionCatalog::get(&_opCtx).lookupCollectionByNamespace(nss()); } const ServiceContext::UniqueOperationContext _opCtxPtr = cc().makeOperationContext(); @@ -75,15 +75,19 @@ public: WriteUnitOfWork wunit(&_opCtx); BSONObj x = BSON("x" << 1); ASSERT(x["_id"].type() == 0); - Collection* collection = _context.db()->getOrCreateCollection(&_opCtx, nss()); + Collection* coll = CollectionCatalog::get(&_opCtx).lookupCollectionByNamespace(nss()); + if (!coll) { + coll = _context.db()->createCollection(&_opCtx, nss()); + } + ASSERT(coll); OpDebug* const nullOpDebug = nullptr; - ASSERT(!collection->insertDocument(&_opCtx, InsertStatement(x), nullOpDebug, true).isOK()); + ASSERT(!coll->insertDocument(&_opCtx, InsertStatement(x), nullOpDebug, true).isOK()); StatusWith<BSONObj> fixed = fixDocumentForInsert(_opCtx.getServiceContext(), x); ASSERT(fixed.isOK()); x = fixed.getValue(); ASSERT(x["_id"].type() == jstOID); - ASSERT(collection->insertDocument(&_opCtx, InsertStatement(x), nullOpDebug, true).isOK()); + ASSERT(coll->insertDocument(&_opCtx, InsertStatement(x), nullOpDebug, true).isOK()); wunit.commit(); } }; diff --git a/src/mongo/dbtests/plan_executor_invalidation_test.cpp b/src/mongo/dbtests/plan_executor_invalidation_test.cpp index 590d518feae..8cb1e1401d9 100644 --- a/src/mongo/dbtests/plan_executor_invalidation_test.cpp +++ b/src/mongo/dbtests/plan_executor_invalidation_test.cpp @@ -85,11 +85,13 @@ public: std::unique_ptr<CanonicalQuery> cq = std::move(statusWithCQ.getValue()); // Takes ownership of 'ws', 'scan', and 'cq'. - auto statusWithPlanExecutor = PlanExecutor::make(std::move(cq), - std::move(ws), - std::move(scan), - _ctx->db()->getCollection(&_opCtx, nss), - PlanExecutor::YIELD_MANUAL); + auto statusWithPlanExecutor = + PlanExecutor::make(std::move(cq), + std::move(ws), + std::move(scan), + CollectionCatalog::get(&_opCtx).lookupCollectionByNamespace(nss), + PlanExecutor::YIELD_MANUAL); + ASSERT_OK(statusWithPlanExecutor.getStatus()); return std::move(statusWithPlanExecutor.getValue()); } @@ -115,7 +117,7 @@ public: } Collection* collection() { - return _ctx->db()->getCollection(&_opCtx, nss); + return CollectionCatalog::get(&_opCtx).lookupCollectionByNamespace(nss); } void truncateCollection(Collection* collection) const { diff --git a/src/mongo/dbtests/query_plan_executor.cpp b/src/mongo/dbtests/query_plan_executor.cpp index be1b3448555..1726b5c994f 100644 --- a/src/mongo/dbtests/query_plan_executor.cpp +++ b/src/mongo/dbtests/query_plan_executor.cpp @@ -148,7 +148,8 @@ public: ixparams.bounds.endKey = BSON("" << end); ixparams.bounds.boundInclusion = BoundInclusion::kIncludeBothStartAndEndKeys; - const Collection* coll = db->getCollection(&_opCtx, nss); + const Collection* coll = CollectionCatalog::get(&_opCtx).lookupCollectionByNamespace(nss); + unique_ptr<WorkingSet> ws(new WorkingSet()); auto ixscan = std::make_unique<IndexScan>(&_opCtx, ixparams, ws.get(), nullptr); @@ -174,7 +175,7 @@ protected: private: const IndexDescriptor* getIndex(Database* db, const BSONObj& obj) { - Collection* collection = db->getCollection(&_opCtx, nss); + Collection* collection = CollectionCatalog::get(&_opCtx).lookupCollectionByNamespace(nss); std::vector<const IndexDescriptor*> indexes; collection->getIndexCatalog()->findIndexesByKeyPattern(&_opCtx, obj, false, &indexes); ASSERT_LTE(indexes.size(), 1U); diff --git a/src/mongo/dbtests/query_stage_count_scan.cpp b/src/mongo/dbtests/query_stage_count_scan.cpp index 9b6a4f94383..0b3e05c5cba 100644 --- a/src/mongo/dbtests/query_stage_count_scan.cpp +++ b/src/mongo/dbtests/query_stage_count_scan.cpp @@ -92,7 +92,8 @@ public: } const IndexDescriptor* getIndex(Database* db, const BSONObj& obj) { - Collection* collection = db->getCollection(&_opCtx, NamespaceString(ns())); + Collection* collection = + CollectionCatalog::get(&_opCtx).lookupCollectionByNamespace(NamespaceString(ns())); std::vector<const IndexDescriptor*> indexes; collection->getIndexCatalog()->findIndexesByKeyPattern(&_opCtx, obj, false, &indexes); return indexes.empty() ? nullptr : indexes[0]; diff --git a/src/mongo/dbtests/query_stage_fetch.cpp b/src/mongo/dbtests/query_stage_fetch.cpp index 8e6b0930e90..61a472f82e2 100644 --- a/src/mongo/dbtests/query_stage_fetch.cpp +++ b/src/mongo/dbtests/query_stage_fetch.cpp @@ -99,7 +99,7 @@ public: void run() { dbtests::WriteContextForTests ctx(&_opCtx, ns()); Database* db = ctx.db(); - Collection* coll = db->getCollection(&_opCtx, nss()); + Collection* coll = CollectionCatalog::get(&_opCtx).lookupCollectionByNamespace(nss()); if (!coll) { WriteUnitOfWork wuow(&_opCtx); coll = db->createCollection(&_opCtx, nss()); @@ -165,7 +165,7 @@ public: Lock::DBLock lk(&_opCtx, nss().db(), MODE_X); OldClientContext ctx(&_opCtx, ns()); Database* db = ctx.db(); - Collection* coll = db->getCollection(&_opCtx, nss()); + Collection* coll = CollectionCatalog::get(&_opCtx).lookupCollectionByNamespace(nss()); if (!coll) { WriteUnitOfWork wuow(&_opCtx); coll = db->createCollection(&_opCtx, nss()); diff --git a/src/mongo/dbtests/query_stage_merge_sort.cpp b/src/mongo/dbtests/query_stage_merge_sort.cpp index 14a0d2019d8..75795c5978e 100644 --- a/src/mongo/dbtests/query_stage_merge_sort.cpp +++ b/src/mongo/dbtests/query_stage_merge_sort.cpp @@ -145,7 +145,7 @@ public: void run() { dbtests::WriteContextForTests ctx(&_opCtx, ns()); Database* db = ctx.db(); - Collection* coll = db->getCollection(&_opCtx, nss()); + Collection* coll = CollectionCatalog::get(&_opCtx).lookupCollectionByNamespace(nss()); if (!coll) { WriteUnitOfWork wuow(&_opCtx); coll = db->createCollection(&_opCtx, nss()); @@ -210,7 +210,7 @@ public: void run() { dbtests::WriteContextForTests ctx(&_opCtx, ns()); Database* db = ctx.db(); - Collection* coll = db->getCollection(&_opCtx, nss()); + Collection* coll = CollectionCatalog::get(&_opCtx).lookupCollectionByNamespace(nss()); if (!coll) { WriteUnitOfWork wuow(&_opCtx); coll = db->createCollection(&_opCtx, nss()); @@ -274,7 +274,7 @@ public: void run() { dbtests::WriteContextForTests ctx(&_opCtx, ns()); Database* db = ctx.db(); - Collection* coll = db->getCollection(&_opCtx, nss()); + Collection* coll = CollectionCatalog::get(&_opCtx).lookupCollectionByNamespace(nss()); if (!coll) { WriteUnitOfWork wuow(&_opCtx); coll = db->createCollection(&_opCtx, nss()); @@ -339,7 +339,7 @@ public: void run() { dbtests::WriteContextForTests ctx(&_opCtx, ns()); Database* db = ctx.db(); - Collection* coll = db->getCollection(&_opCtx, nss()); + Collection* coll = CollectionCatalog::get(&_opCtx).lookupCollectionByNamespace(nss()); if (!coll) { WriteUnitOfWork wuow(&_opCtx); coll = db->createCollection(&_opCtx, nss()); @@ -408,7 +408,7 @@ public: void run() { dbtests::WriteContextForTests ctx(&_opCtx, ns()); Database* db = ctx.db(); - Collection* coll = db->getCollection(&_opCtx, nss()); + Collection* coll = CollectionCatalog::get(&_opCtx).lookupCollectionByNamespace(nss()); if (!coll) { WriteUnitOfWork wuow(&_opCtx); coll = db->createCollection(&_opCtx, nss()); @@ -471,7 +471,7 @@ public: void run() { dbtests::WriteContextForTests ctx(&_opCtx, ns()); Database* db = ctx.db(); - Collection* coll = db->getCollection(&_opCtx, nss()); + Collection* coll = CollectionCatalog::get(&_opCtx).lookupCollectionByNamespace(nss()); if (!coll) { WriteUnitOfWork wuow(&_opCtx); coll = db->createCollection(&_opCtx, nss()); @@ -523,7 +523,7 @@ public: void run() { dbtests::WriteContextForTests ctx(&_opCtx, ns()); Database* db = ctx.db(); - Collection* coll = db->getCollection(&_opCtx, nss()); + Collection* coll = CollectionCatalog::get(&_opCtx).lookupCollectionByNamespace(nss()); if (!coll) { WriteUnitOfWork wuow(&_opCtx); coll = db->createCollection(&_opCtx, nss()); @@ -640,7 +640,7 @@ public: void run() { dbtests::WriteContextForTests ctx(&_opCtx, ns()); Database* db = ctx.db(); - Collection* coll = db->getCollection(&_opCtx, nss()); + Collection* coll = CollectionCatalog::get(&_opCtx).lookupCollectionByNamespace(nss()); if (!coll) { WriteUnitOfWork wuow(&_opCtx); coll = db->createCollection(&_opCtx, nss()); @@ -742,7 +742,7 @@ public: void run() { dbtests::WriteContextForTests ctx(&_opCtx, ns()); Database* db = ctx.db(); - Collection* coll = db->getCollection(&_opCtx, nss()); + Collection* coll = CollectionCatalog::get(&_opCtx).lookupCollectionByNamespace(nss()); if (!coll) { WriteUnitOfWork wuow(&_opCtx); coll = db->createCollection(&_opCtx, nss()); @@ -808,7 +808,7 @@ public: void run() { dbtests::WriteContextForTests ctx(&_opCtx, ns()); Database* db = ctx.db(); - Collection* coll = db->getCollection(&_opCtx, nss()); + Collection* coll = CollectionCatalog::get(&_opCtx).lookupCollectionByNamespace(nss()); if (!coll) { WriteUnitOfWork wuow(&_opCtx); coll = db->createCollection(&_opCtx, nss()); diff --git a/src/mongo/dbtests/query_stage_sort.cpp b/src/mongo/dbtests/query_stage_sort.cpp index 1bb68145894..db699ced854 100644 --- a/src/mongo/dbtests/query_stage_sort.cpp +++ b/src/mongo/dbtests/query_stage_sort.cpp @@ -241,7 +241,7 @@ public: void run() { dbtests::WriteContextForTests ctx(&_opCtx, ns()); Database* db = ctx.db(); - Collection* coll = db->getCollection(&_opCtx, nss()); + Collection* coll = CollectionCatalog::get(&_opCtx).lookupCollectionByNamespace(nss()); if (!coll) { WriteUnitOfWork wuow(&_opCtx); coll = db->createCollection(&_opCtx, nss()); @@ -263,7 +263,7 @@ public: void run() { dbtests::WriteContextForTests ctx(&_opCtx, ns()); Database* db = ctx.db(); - Collection* coll = db->getCollection(&_opCtx, nss()); + Collection* coll = CollectionCatalog::get(&_opCtx).lookupCollectionByNamespace(nss()); if (!coll) { WriteUnitOfWork wuow(&_opCtx); coll = db->createCollection(&_opCtx, nss()); @@ -294,7 +294,7 @@ public: void run() { dbtests::WriteContextForTests ctx(&_opCtx, ns()); Database* db = ctx.db(); - Collection* coll = db->getCollection(&_opCtx, nss()); + Collection* coll = CollectionCatalog::get(&_opCtx).lookupCollectionByNamespace(nss()); if (!coll) { WriteUnitOfWork wuow(&_opCtx); coll = db->createCollection(&_opCtx, nss()); @@ -319,7 +319,7 @@ public: void run() { dbtests::WriteContextForTests ctx(&_opCtx, ns()); Database* db = ctx.db(); - Collection* coll = db->getCollection(&_opCtx, nss()); + Collection* coll = CollectionCatalog::get(&_opCtx).lookupCollectionByNamespace(nss()); if (!coll) { WriteUnitOfWork wuow(&_opCtx); coll = db->createCollection(&_opCtx, nss()); @@ -428,7 +428,7 @@ public: void run() { dbtests::WriteContextForTests ctx(&_opCtx, ns()); Database* db = ctx.db(); - Collection* coll = db->getCollection(&_opCtx, nss()); + Collection* coll = CollectionCatalog::get(&_opCtx).lookupCollectionByNamespace(nss()); if (!coll) { WriteUnitOfWork wuow(&_opCtx); coll = db->createCollection(&_opCtx, nss()); @@ -526,7 +526,7 @@ public: void run() { dbtests::WriteContextForTests ctx(&_opCtx, ns()); Database* db = ctx.db(); - Collection* coll = db->getCollection(&_opCtx, nss()); + Collection* coll = CollectionCatalog::get(&_opCtx).lookupCollectionByNamespace(nss()); if (!coll) { WriteUnitOfWork wuow(&_opCtx); coll = db->createCollection(&_opCtx, nss()); diff --git a/src/mongo/dbtests/query_stage_update.cpp b/src/mongo/dbtests/query_stage_update.cpp index 0ce3c6cbe37..665ae70f031 100644 --- a/src/mongo/dbtests/query_stage_update.cpp +++ b/src/mongo/dbtests/query_stage_update.cpp @@ -272,8 +272,7 @@ public: OpDebug* opDebug = &curOp.debug(); const CollatorInterface* collator = nullptr; UpdateDriver driver(new ExpressionContext(&_opCtx, collator)); - Database* db = ctx.db(); - Collection* coll = db->getCollection(&_opCtx, nss); + Collection* coll = CollectionCatalog::get(&_opCtx).lookupCollectionByNamespace(nss); ASSERT(coll); // Get the RecordIds that would be returned by an in-order scan. diff --git a/src/mongo/dbtests/querytests.cpp b/src/mongo/dbtests/querytests.cpp index 9792bfcb7b4..47cb3f55f4d 100644 --- a/src/mongo/dbtests/querytests.cpp +++ b/src/mongo/dbtests/querytests.cpp @@ -68,7 +68,7 @@ public: { WriteUnitOfWork wunit(&_opCtx); _database = _context.db(); - _collection = _database->getCollection(&_opCtx, nss()); + _collection = CollectionCatalog::get(&_opCtx).lookupCollectionByNamespace(nss()); if (_collection) { _database->dropCollection(&_opCtx, nss()).transitional_ignore(); } @@ -219,7 +219,7 @@ public: { WriteUnitOfWork wunit(&_opCtx); Database* db = ctx.db(); - if (db->getCollection(&_opCtx, nss())) { + if (CollectionCatalog::get(&_opCtx).lookupCollectionByNamespace(nss())) { _collection = nullptr; db->dropCollection(&_opCtx, nss()).transitional_ignore(); } diff --git a/src/mongo/dbtests/repltests.cpp b/src/mongo/dbtests/repltests.cpp index 7ca7eb19d80..638e339766a 100644 --- a/src/mongo/dbtests/repltests.cpp +++ b/src/mongo/dbtests/repltests.cpp @@ -138,7 +138,7 @@ public: dbtests::WriteContextForTests ctx(&_opCtx, ns()); WriteUnitOfWork wuow(&_opCtx); - Collection* c = ctx.db()->getCollection(&_opCtx, nss()); + Collection* c = CollectionCatalog::get(&_opCtx).lookupCollectionByNamespace(nss()); if (!c) { c = ctx.db()->createCollection(&_opCtx, nss()); } @@ -208,7 +208,7 @@ protected: Lock::GlobalWrite lk(&_opCtx); OldClientContext ctx(&_opCtx, ns()); Database* db = ctx.db(); - Collection* coll = db->getCollection(&_opCtx, nss()); + Collection* coll = CollectionCatalog::get(&_opCtx).lookupCollectionByNamespace(nss()); if (!coll) { WriteUnitOfWork wunit(&_opCtx); coll = db->createCollection(&_opCtx, nss()); @@ -265,7 +265,7 @@ protected: NamespaceString nss(ns); Database* db = ctx.db(); - Collection* coll = db->getCollection(&_opCtx, nss); + Collection* coll = CollectionCatalog::get(&_opCtx).lookupCollectionByNamespace(nss); if (!coll) { WriteUnitOfWork wunit(&_opCtx); coll = db->createCollection(&_opCtx, nss); @@ -286,7 +286,7 @@ protected: OldClientContext ctx(&_opCtx, ns); WriteUnitOfWork wunit(&_opCtx); Database* db = ctx.db(); - Collection* coll = db->getCollection(&_opCtx, nss); + Collection* coll = CollectionCatalog::get(&_opCtx).lookupCollectionByNamespace(nss); if (!coll) { coll = db->createCollection(&_opCtx, nss); } @@ -300,7 +300,7 @@ protected: OldClientContext ctx(&_opCtx, ns()); WriteUnitOfWork wunit(&_opCtx); Database* db = ctx.db(); - Collection* coll = db->getCollection(&_opCtx, nss()); + Collection* coll = CollectionCatalog::get(&_opCtx).lookupCollectionByNamespace(nss()); if (!coll) { coll = db->createCollection(&_opCtx, nss()); } diff --git a/src/mongo/dbtests/rollbacktests.cpp b/src/mongo/dbtests/rollbacktests.cpp index cd8f785d99b..d9417770b49 100644 --- a/src/mongo/dbtests/rollbacktests.cpp +++ b/src/mongo/dbtests/rollbacktests.cpp @@ -87,20 +87,17 @@ Status renameCollection(OperationContext* opCtx, return renameCollection(opCtx, source, target, {}); } Status truncateCollection(OperationContext* opCtx, const NamespaceString& nss) { - auto databaseHolder = DatabaseHolder::get(opCtx); - auto coll = databaseHolder->getDb(opCtx, nss.db())->getCollection(opCtx, nss); + auto coll = CollectionCatalog::get(opCtx).lookupCollectionByNamespace(nss); return coll->truncate(opCtx); } void insertRecord(OperationContext* opCtx, const NamespaceString& nss, const BSONObj& data) { - auto databaseHolder = DatabaseHolder::get(opCtx); - auto coll = databaseHolder->getDb(opCtx, nss.db())->getCollection(opCtx, nss); + auto coll = CollectionCatalog::get(opCtx).lookupCollectionByNamespace(nss); OpDebug* const nullOpDebug = nullptr; ASSERT_OK(coll->insertDocument(opCtx, InsertStatement(data), nullOpDebug, false)); } void assertOnlyRecord(OperationContext* opCtx, const NamespaceString& nss, const BSONObj& data) { - auto databaseHolder = DatabaseHolder::get(opCtx); - auto coll = databaseHolder->getDb(opCtx, nss.db())->getCollection(opCtx, nss); + auto coll = CollectionCatalog::get(opCtx).lookupCollectionByNamespace(nss); auto cursor = coll->getCursor(opCtx); auto record = cursor->next(); @@ -110,18 +107,15 @@ void assertOnlyRecord(OperationContext* opCtx, const NamespaceString& nss, const ASSERT(!cursor->next()); } void assertEmpty(OperationContext* opCtx, const NamespaceString& nss) { - auto databaseHolder = DatabaseHolder::get(opCtx); - auto coll = databaseHolder->getDb(opCtx, nss.db())->getCollection(opCtx, nss); + auto coll = CollectionCatalog::get(opCtx).lookupCollectionByNamespace(nss); ASSERT(!coll->getCursor(opCtx)->next()); } bool indexExists(OperationContext* opCtx, const NamespaceString& nss, const string& idxName) { - auto databaseHolder = DatabaseHolder::get(opCtx); - auto coll = databaseHolder->getDb(opCtx, nss.db())->getCollection(opCtx, nss); + auto coll = CollectionCatalog::get(opCtx).lookupCollectionByNamespace(nss); return coll->getIndexCatalog()->findIndexByName(opCtx, idxName, true) != nullptr; } bool indexReady(OperationContext* opCtx, const NamespaceString& nss, const string& idxName) { - auto databaseHolder = DatabaseHolder::get(opCtx); - auto coll = databaseHolder->getDb(opCtx, nss.db())->getCollection(opCtx, nss); + auto coll = CollectionCatalog::get(opCtx).lookupCollectionByNamespace(nss); return coll->getIndexCatalog()->findIndexByName(opCtx, idxName, false) != nullptr; } size_t getNumIndexEntries(OperationContext* opCtx, @@ -129,8 +123,7 @@ size_t getNumIndexEntries(OperationContext* opCtx, const string& idxName) { size_t numEntries = 0; - auto databaseHolder = DatabaseHolder::get(opCtx); - auto coll = databaseHolder->getDb(opCtx, nss.db())->getCollection(opCtx, nss); + auto coll = CollectionCatalog::get(opCtx).lookupCollectionByNamespace(nss); IndexCatalog* catalog = coll->getIndexCatalog(); auto desc = catalog->findIndexByName(opCtx, idxName, false); @@ -152,8 +145,7 @@ size_t getNumIndexEntries(OperationContext* opCtx, } void dropIndex(OperationContext* opCtx, const NamespaceString& nss, const string& idxName) { - auto databaseHolder = DatabaseHolder::get(opCtx); - auto coll = databaseHolder->getDb(opCtx, nss.db())->getCollection(opCtx, nss); + auto coll = CollectionCatalog::get(opCtx).lookupCollectionByNamespace(nss); auto desc = coll->getIndexCatalog()->findIndexByName(opCtx, idxName); ASSERT(desc); ASSERT_OK(coll->getIndexCatalog()->dropIndex(opCtx, desc)); @@ -543,7 +535,7 @@ public: AutoGetDb autoDb(&opCtx, nss.db(), MODE_X); - Collection* coll = autoDb.getDb()->getCollection(&opCtx, nss); + Collection* coll = CollectionCatalog::get(&opCtx).lookupCollectionByNamespace(nss); IndexCatalog* catalog = coll->getIndexCatalog(); string idxName = "a"; @@ -584,7 +576,7 @@ public: AutoGetDb autoDb(&opCtx, nss.db(), MODE_X); - Collection* coll = autoDb.getDb()->getCollection(&opCtx, nss); + Collection* coll = CollectionCatalog::get(&opCtx).lookupCollectionByNamespace(nss); IndexCatalog* catalog = coll->getIndexCatalog(); string idxName = "a"; @@ -637,7 +629,7 @@ public: AutoGetDb autoDb(&opCtx, nss.db(), MODE_X); - Collection* coll = autoDb.getDb()->getCollection(&opCtx, nss); + Collection* coll = CollectionCatalog::get(&opCtx).lookupCollectionByNamespace(nss); IndexCatalog* catalog = coll->getIndexCatalog(); string idxName = "a"; @@ -700,7 +692,7 @@ public: assertGet(CollectionOptions::parse(BSONObj(), CollectionOptions::parseForCommand)); ASSERT_OK(ctx.db()->userCreateNS(&opCtx, nss, collectionOptions, false)); ASSERT(collectionExists(&opCtx, &ctx, nss.ns())); - Collection* coll = ctx.db()->getCollection(&opCtx, nss); + Collection* coll = CollectionCatalog::get(&opCtx).lookupCollectionByNamespace(nss); IndexCatalog* catalog = coll->getIndexCatalog(); ASSERT_OK(catalog->createIndexOnEmptyCollection(&opCtx, specA)); |