diff options
author | Kaloian Manassiev <kaloian.manassiev@mongodb.com> | 2016-03-15 09:47:26 -0400 |
---|---|---|
committer | Kaloian Manassiev <kaloian.manassiev@mongodb.com> | 2016-03-15 09:47:26 -0400 |
commit | 5f856fc375b1a5554895f98f9873c1382008f564 (patch) | |
tree | e7c6117fa9eec649f81ab245b1f9f31bb0d0115d | |
parent | 643ef6752b12a9831cfd5e75e0795c3529b12389 (diff) | |
download | mongo-5f856fc375b1a5554895f98f9873c1382008f564.tar.gz |
Revert "SERVER-23136 Count command should return InvalidNamespace instead of BadValue"
This reverts commit 643ef6752b12a9831cfd5e75e0795c3529b12389.
-rw-r--r-- | src/mongo/db/query/count_request.cpp | 12 | ||||
-rw-r--r-- | src/mongo/db/query/count_request.h | 2 |
2 files changed, 7 insertions, 7 deletions
diff --git a/src/mongo/db/query/count_request.cpp b/src/mongo/db/query/count_request.cpp index fec461455df..ad27d36c376 100644 --- a/src/mongo/db/query/count_request.cpp +++ b/src/mongo/db/query/count_request.cpp @@ -43,8 +43,8 @@ const char kHintField[] = "hint"; } // namespace -CountRequest::CountRequest(NamespaceString nss, BSONObj query) - : _nss(std::move(nss)), _query(query.getOwned()) {} +CountRequest::CountRequest(const std::string& fullNs, BSONObj query) + : _nss(fullNs), _query(query.getOwned()) {} void CountRequest::setHint(BSONObj hint) { _hint = hint.getOwned(); @@ -76,13 +76,13 @@ StatusWith<CountRequest> CountRequest::parseFromBSON(const std::string& dbname, BSONElement firstElt = cmdObj.firstElement(); const std::string coll = (firstElt.type() == BSONType::String) ? firstElt.str() : ""; - NamespaceString nss(dbname, coll); - if (!nss.isValid()) { - return Status(ErrorCodes::InvalidNamespace, "invalid collection name"); + const std::string ns = str::stream() << dbname << "." << coll; + if (!nsIsFull(ns)) { + return Status(ErrorCodes::BadValue, "invalid collection name"); } // We don't validate that "query" is a nested object due to SERVER-15456. - CountRequest request(std::move(nss), cmdObj.getObjectField(kQueryField)); + CountRequest request(ns, cmdObj.getObjectField(kQueryField)); // Limit if (cmdObj[kLimitField].isNumber()) { diff --git a/src/mongo/db/query/count_request.h b/src/mongo/db/query/count_request.h index 5ea4c1b08d7..781b06dd91f 100644 --- a/src/mongo/db/query/count_request.h +++ b/src/mongo/db/query/count_request.h @@ -48,7 +48,7 @@ public: /** * Construct an empty request. */ - CountRequest(NamespaceString nss, BSONObj query); + CountRequest(const std::string& fullNs, BSONObj query); const NamespaceString& getNs() const { return _nss; |