summaryrefslogtreecommitdiff
path: root/src/mongo/db/repl/cloner_utils.cpp
diff options
context:
space:
mode:
authormathisbessamdb <91484595+mathisbessamdb@users.noreply.github.com>2023-03-17 22:04:22 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2023-03-17 23:20:35 +0000
commit234b7a8b7d5b04a3bcc08c32d81488ee632485a2 (patch)
tree1b3444fe63201c7c86491765c33e07e5e2821210 /src/mongo/db/repl/cloner_utils.cpp
parent45a15910bf47c12f3da5a69950656b28c7abef75 (diff)
downloadmongo-234b7a8b7d5b04a3bcc08c32d81488ee632485a2.tar.gz
SERVER-71669 Remove TODO to no longer use StringData when manipulating TenantIds
Diffstat (limited to 'src/mongo/db/repl/cloner_utils.cpp')
-rw-r--r--src/mongo/db/repl/cloner_utils.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/mongo/db/repl/cloner_utils.cpp b/src/mongo/db/repl/cloner_utils.cpp
index cc281844aa6..ab858d85f95 100644
--- a/src/mongo/db/repl/cloner_utils.cpp
+++ b/src/mongo/db/repl/cloner_utils.cpp
@@ -56,10 +56,6 @@ BSONObj ClonerUtils::buildMajorityWaitRequest(Timestamp operationTime) {
return bob.obj();
}
-bool ClonerUtils::isDatabaseForTenant(StringData db, StringData prefix) {
- return db.startsWith(prefix + "_");
-}
-
bool ClonerUtils::isDatabaseForTenant(const DatabaseName& db,
const boost::optional<TenantId>& prefix,
MigrationProtocolEnum protocol) {
@@ -70,7 +66,12 @@ bool ClonerUtils::isDatabaseForTenant(const DatabaseName& db,
if (db.tenantId()) {
return *db.tenantId() == *prefix;
} else {
- return isDatabaseForTenant(db.toStringWithTenantId(), (*prefix).toString());
+ auto fullDbName = db.db();
+ auto tenantDelim = fullDbName.find('_');
+ if (tenantDelim != std::string::npos) {
+ return (*prefix).toString() == fullDbName.substr(0, tenantDelim);
+ }
+ return false;
}
}
@@ -79,7 +80,7 @@ bool ClonerUtils::isNamespaceForTenant(NamespaceString nss, StringData prefix) {
if (gMultitenancySupport && nss.tenantId() != boost::none) {
return nss.tenantId()->toString() == prefix;
}
- return isDatabaseForTenant(nss.db(), prefix);
+ return nss.db().startsWith(prefix + "_");
}
} // namespace repl