summaryrefslogtreecommitdiff
path: root/src/mongo/db/namespace_string.cpp
diff options
context:
space:
mode:
authorGeert Bosch <geert@mongodb.com>2017-07-15 13:53:13 -0400
committerGeert Bosch <geert@mongodb.com>2017-07-15 13:53:13 -0400
commita1c67941bf08c69cab04eba20bc9ce9a763e1c7f (patch)
tree1eeeb24340e0b20e8a677dcf1298f7ae00f20d4c /src/mongo/db/namespace_string.cpp
parentd8afe01c37aa24bef255e8aea4ec6882df71b1dd (diff)
downloadmongo-a1c67941bf08c69cab04eba20bc9ce9a763e1c7f.tar.gz
Revert "SERVER-30106 Allow syncTail replication to write to drop-pending collections"
This reverts commit d8afe01c37aa24bef255e8aea4ec6882df71b1dd.
Diffstat (limited to 'src/mongo/db/namespace_string.cpp')
-rw-r--r--src/mongo/db/namespace_string.cpp54
1 files changed, 27 insertions, 27 deletions
diff --git a/src/mongo/db/namespace_string.cpp b/src/mongo/db/namespace_string.cpp
index eaf1fab39ff..b9cedd47a95 100644
--- a/src/mongo/db/namespace_string.cpp
+++ b/src/mongo/db/namespace_string.cpp
@@ -79,6 +79,33 @@ constexpr auto dropPendingNSPrefix = "system.drop."_sd;
} // namespace
+bool legalClientSystemNS(StringData ns) {
+ if (ns == "local.system.replset")
+ return true;
+
+ if (ns.find(".system.users") != string::npos)
+ return true;
+
+ if (ns == "admin.system.roles")
+ return true;
+ if (ns == kServerConfiguration)
+ return true;
+ if (ns == kLogicalTimeKeysCollection)
+ return true;
+ if (ns == "admin.system.new_users")
+ return true;
+ if (ns == "admin.system.backup_users")
+ return true;
+
+ if (ns.find(".system.js") != string::npos)
+ return true;
+
+ if (nsToCollectionSubstring(ns) == NamespaceString::kSystemDotViewsCollectionName)
+ return true;
+
+ return false;
+}
+
constexpr StringData NamespaceString::kAdminDb;
constexpr StringData NamespaceString::kLocalDb;
constexpr StringData NamespaceString::kConfigDb;
@@ -102,33 +129,6 @@ bool NamespaceString::isCollectionlessAggregateNS() const {
return coll() == collectionlessAggregateCursorCol;
}
-bool NamespaceString::isLegalClientSystemNS() const {
- if (db() == "admin") {
- if (ns() == "admin.system.roles")
- return true;
- if (ns() == kServerConfiguration)
- return true;
- if (ns() == kLogicalTimeKeysCollection)
- return true;
- if (ns() == "admin.system.new_users")
- return true;
- if (ns() == "admin.system.backup_users")
- return true;
- }
- if (ns() == "local.system.replset")
- return true;
-
- if (coll() == "system.users")
- return true;
- if (coll() == "system.js")
- return true;
-
- if (coll() == kSystemDotViewsCollectionName)
- return true;
-
- return false;
-}
-
NamespaceString NamespaceString::makeListCollectionsNSS(StringData dbName) {
NamespaceString nss(dbName, listCollectionsCursorCol);
dassert(nss.isValid());