diff options
author | Benety Goh <benety@mongodb.com> | 2021-04-30 06:31:36 -0400 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2021-04-30 11:06:09 +0000 |
commit | be9319f442417777e400b7b11e140675f2ece4e6 (patch) | |
tree | e60931f26f76d2154d0356568e51a93ff48726d1 | |
parent | 4e3fdad6a5d510c5a160e9bfc278aa8486f72f42 (diff) | |
download | mongo-be9319f442417777e400b7b11e140675f2ece4e6.tar.gz |
SERVER-47123 remove AutoGetOrCreateDb from implicit collection creation during CRUD operations
This class is deprecated in favor of AutoGetDb which provides the same functonality
in AutoGetDb::ensureDbExists().
-rw-r--r-- | src/mongo/db/ops/write_ops_exec.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/mongo/db/ops/write_ops_exec.cpp b/src/mongo/db/ops/write_ops_exec.cpp index a92256312f2..392ac6869fe 100644 --- a/src/mongo/db/ops/write_ops_exec.cpp +++ b/src/mongo/db/ops/write_ops_exec.cpp @@ -224,7 +224,7 @@ void assertCanWrite_inlock(OperationContext* opCtx, const NamespaceString& ns) { void makeCollection(OperationContext* opCtx, const NamespaceString& ns) { writeConflictRetry(opCtx, "implicit collection creation", ns.ns(), [&opCtx, &ns] { - AutoGetOrCreateDb db(opCtx, ns.db(), MODE_IX); + AutoGetDb autoDb(opCtx, ns.db(), MODE_IX); Lock::CollectionLock collLock(opCtx, ns, MODE_IX); assertCanWrite_inlock(opCtx, ns); @@ -236,7 +236,8 @@ void makeCollection(OperationContext* opCtx, const NamespaceString& ns) { unsafeCreateCollection(opCtx); WriteUnitOfWork wuow(opCtx); CollectionOptions defaultCollectionOptions; - uassertStatusOK(db.getDb()->userCreateNS(opCtx, ns, defaultCollectionOptions)); + auto db = autoDb.ensureDbExists(); + uassertStatusOK(db->userCreateNS(opCtx, ns, defaultCollectionOptions)); wuow.commit(); } }); |