diff options
Diffstat (limited to 'src/mongo/base')
| -rw-r--r-- | src/mongo/base/dependency_graph.cpp | 1 | ||||
| -rw-r--r-- | src/mongo/base/error_codes.yml | 4 | ||||
| -rw-r--r-- | src/mongo/base/string_data.h | 14 |
3 files changed, 13 insertions, 6 deletions
diff --git a/src/mongo/base/dependency_graph.cpp b/src/mongo/base/dependency_graph.cpp index 8d9107b5a10..faa8b8cdae3 100644 --- a/src/mongo/base/dependency_graph.cpp +++ b/src/mongo/base/dependency_graph.cpp @@ -29,6 +29,7 @@ #include "mongo/base/dependency_graph.h" +#include "mongo/util/stacktrace.h" #include <algorithm> #include <fmt/format.h> #include <fmt/ranges.h> diff --git a/src/mongo/base/error_codes.yml b/src/mongo/base/error_codes.yml index 199ecbefc35..6b43f74536f 100644 --- a/src/mongo/base/error_codes.yml +++ b/src/mongo/base/error_codes.yml @@ -492,6 +492,8 @@ error_codes: - {code: 379, name: DatabaseMetadataRefreshCanceled, categories: [InternalOnly]} + - {code: 387, name: EncounteredFLEPayloadWhileApplyingHmac} + - {code: 388, name: TransactionTooLargeForCache} # This error code is not generated internally in mongod/s servers, but must be parsed and @@ -502,6 +504,8 @@ error_codes: - {code: 384, name: ConnectionError, categories: [NetworkError,RetriableError,InternalOnly]} + - {code: 408, name: CannotInsertTimeseriesBucketsWithMixedSchema} + # Error codes 4000-8999 are reserved. # Non-sequential error codes for compatibility only) diff --git a/src/mongo/base/string_data.h b/src/mongo/base/string_data.h index ad26243afc0..be2c6592ea9 100644 --- a/src/mongo/base/string_data.h +++ b/src/mongo/base/string_data.h @@ -128,7 +128,7 @@ public: */ bool equalCaseInsensitive(StringData other) const; - void copyTo(char* dest, bool includeEndingNull) const; + size_t copy(char* dest, size_t count, size_t pos = 0) const; constexpr StringData substr(size_t pos, size_t n = std::numeric_limits<size_t>::max()) const; @@ -237,11 +237,13 @@ inline bool StringData::equalCaseInsensitive(StringData other) const { }); } -inline void StringData::copyTo(char* dest, bool includeEndingNull) const { - if (_data) - memcpy(dest, _data, size()); - if (includeEndingNull) - dest[size()] = 0; +inline size_t StringData::copy(char* dest, size_t count, size_t pos) const { + if (MONGO_unlikely(pos > size())) + throw std::out_of_range("pos > size()"); + + const auto rcount = std::min(count, size() - pos); + std::char_traits<char>::copy(dest, rawData() + pos, rcount); + return rcount; } inline size_t StringData::find(char c, size_t fromPos) const { |
