summaryrefslogtreecommitdiff
path: root/src/mongo/db/catalog/database_impl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/catalog/database_impl.cpp')
-rw-r--r--src/mongo/db/catalog/database_impl.cpp32
1 files changed, 9 insertions, 23 deletions
diff --git a/src/mongo/db/catalog/database_impl.cpp b/src/mongo/db/catalog/database_impl.cpp
index 0a6e862e4ad..a072112e7ca 100644
--- a/src/mongo/db/catalog/database_impl.cpp
+++ b/src/mongo/db/catalog/database_impl.cpp
@@ -304,7 +304,7 @@ Status DatabaseImpl::dropView(OperationContext* opCtx, NamespaceString viewName)
Status DatabaseImpl::dropCollection(OperationContext* opCtx,
NamespaceString nss,
repl::OpTime dropOpTime) const {
- if (!getCollection(opCtx, nss)) {
+ if (!CollectionCatalog::get(opCtx).lookupCollectionByNamespace(nss)) {
// Collection doesn't exist so don't bother validating if it can be dropped.
return Status::OK();
}
@@ -341,7 +341,7 @@ Status DatabaseImpl::dropCollectionEvenIfSystem(OperationContext* opCtx,
"dropCollection() cannot accept a valid drop optime when writes are replicated.");
}
- Collection* collection = getCollection(opCtx, nss);
+ Collection* collection = CollectionCatalog::get(opCtx).lookupCollectionByNamespace(nss);
if (!collection) {
return Status::OK(); // Post condition already met.
@@ -469,10 +469,6 @@ Status DatabaseImpl::_finishDropCollection(OperationContext* opCtx,
return Status::OK();
}
-Collection* DatabaseImpl::getCollection(OperationContext* opCtx, const NamespaceString& nss) const {
- return CollectionCatalog::get(opCtx).lookupCollectionByNamespace(nss);
-}
-
Status DatabaseImpl::renameCollection(OperationContext* opCtx,
NamespaceString fromNss,
NamespaceString toNss,
@@ -484,13 +480,13 @@ Status DatabaseImpl::renameCollection(OperationContext* opCtx,
invariant(fromNss.db() == _name);
invariant(toNss.db() == _name);
- if (getCollection(opCtx, toNss)) {
+ if (CollectionCatalog::get(opCtx).lookupCollectionByNamespace(toNss)) {
return Status(ErrorCodes::NamespaceExists,
str::stream() << "Cannot rename '" << fromNss << "' to '" << toNss
<< "' because the destination namespace already exists");
}
- Collection* collToRename = getCollection(opCtx, fromNss);
+ Collection* collToRename = CollectionCatalog::get(opCtx).lookupCollectionByNamespace(fromNss);
if (!collToRename) {
return Status(ErrorCodes::NamespaceNotFound, "collection not found to rename");
}
@@ -499,7 +495,7 @@ Status DatabaseImpl::renameCollection(OperationContext* opCtx,
"collection "
<< fromNss);
- Collection* toColl = getCollection(opCtx, toNss);
+ Collection* toColl = CollectionCatalog::get(opCtx).lookupCollectionByNamespace(toNss);
if (toColl) {
invariant(
!toColl->getIndexCatalog()->haveAnyIndexesInProgress(),
@@ -531,22 +527,12 @@ Status DatabaseImpl::renameCollection(OperationContext* opCtx,
return status;
}
-Collection* DatabaseImpl::getOrCreateCollection(OperationContext* opCtx,
- const NamespaceString& nss) const {
- Collection* c = getCollection(opCtx, nss);
-
- if (!c) {
- c = createCollection(opCtx, nss);
- }
- return c;
-}
-
void DatabaseImpl::_checkCanCreateCollection(OperationContext* opCtx,
const NamespaceString& nss,
const CollectionOptions& options) const {
massert(17399,
str::stream() << "Cannot create collection " << nss << " - collection already exists.",
- getCollection(opCtx, nss) == nullptr);
+ CollectionCatalog::get(opCtx).lookupCollectionByNamespace(nss) == nullptr);
uassert(14037,
"can't create user databases on a --configsvr instance",
@@ -740,7 +726,7 @@ StatusWith<NamespaceString> DatabaseImpl::makeUniqueCollectionNamespace(
replacePercentSign);
NamespaceString nss(_name, collectionName);
- if (!getCollection(opCtx, nss)) {
+ if (!CollectionCatalog::get(opCtx).lookupCollectionByNamespace(nss)) {
return nss;
}
}
@@ -772,7 +758,7 @@ void DatabaseImpl::checkForIdIndexesAndDropPendingCollections(OperationContext*
if (nss.isSystem())
continue;
- Collection* coll = getCollection(opCtx, nss);
+ Collection* coll = CollectionCatalog::get(opCtx).lookupCollectionByNamespace(nss);
if (!coll)
continue;
@@ -797,7 +783,7 @@ Status DatabaseImpl::userCreateNS(OperationContext* opCtx,
if (!NamespaceString::validCollectionComponent(nss.ns()))
return Status(ErrorCodes::InvalidNamespace, str::stream() << "invalid ns: " << nss);
- Collection* collection = getCollection(opCtx, nss);
+ Collection* collection = CollectionCatalog::get(opCtx).lookupCollectionByNamespace(nss);
if (collection)
return Status(ErrorCodes::NamespaceExists,