summaryrefslogtreecommitdiff
path: root/src/mongo/base
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/base')
-rw-r--r--src/mongo/base/dependency_graph.cpp1
-rw-r--r--src/mongo/base/error_codes.yml4
-rw-r--r--src/mongo/base/string_data.h14
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 {