-
Type: Improvement
-
Resolution: Works as Designed
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Storage
-
Labels:None
-
Storage Execution
NamespaceStringOrUUID performs no validation of the NamespaceString that can be passed in, and then blindly returns the value to any callers of NamespaceStringOrUUID::nss(). This is rather inconvenient because we must still pair using the nss() returns with something like CollectionCatalog:: resolveNamespaceStringOrUUID to do the nss validation, and we get something like this:
if (nssOrUUID.nss()) {
auto nss = collectionCatalog->resolveNamespaceStringOrUUID(nssOrUUID);
....
}
We cannot trust anything returned from NamespaceStringOrUUID. UUIDs are at least generated internally, so they seem to be reliable.