summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenety Goh <benety@mongodb.com>2021-04-30 06:31:36 -0400
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-04-30 11:06:09 +0000
commitbe9319f442417777e400b7b11e140675f2ece4e6 (patch)
treee60931f26f76d2154d0356568e51a93ff48726d1
parent4e3fdad6a5d510c5a160e9bfc278aa8486f72f42 (diff)
downloadmongo-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.cpp5
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();
}
});