summaryrefslogtreecommitdiff
path: root/src/mongo/util/assert_util.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/util/assert_util.cpp')
-rw-r--r--src/mongo/util/assert_util.cpp34
1 files changed, 14 insertions, 20 deletions
diff --git a/src/mongo/util/assert_util.cpp b/src/mongo/util/assert_util.cpp
index 52e36c27c27..34f8a379751 100644
--- a/src/mongo/util/assert_util.cpp
+++ b/src/mongo/util/assert_util.cpp
@@ -179,12 +179,8 @@ MONGO_COMPILER_NORETURN void fassertFailedWithStatusNoTraceWithLocation(int msgi
quickExit(EXIT_ABRUPT);
}
-void uassertedWithLocation(int msgid, const string& msg, const char* file, unsigned line) {
- uassertedWithLocation(msgid, msg.c_str(), file, line);
-}
-
NOINLINE_DECL void uassertedWithLocation(int msgid,
- const char* msg,
+ StringData msg,
const char* file,
unsigned line) {
assertionCount.condrollover(++assertionCount.user);
@@ -193,12 +189,8 @@ NOINLINE_DECL void uassertedWithLocation(int msgid,
throw AssertionException(msgid, msg);
}
-void msgassertedWithLocation(int msgid, const string& msg, const char* file, unsigned line) {
- msgassertedWithLocation(msgid, msg.c_str(), file, line);
-}
-
NOINLINE_DECL void msgassertedWithLocation(int msgid,
- const char* msg,
+ StringData msg,
const char* file,
unsigned line) {
assertionCount.condrollover(++assertionCount.warning);
@@ -209,7 +201,7 @@ NOINLINE_DECL void msgassertedWithLocation(int msgid,
}
NOINLINE_DECL void msgassertedNoTraceWithLocation(int msgid,
- const char* msg,
+ StringData msg,
const char* file,
unsigned line) {
assertionCount.condrollover(++assertionCount.warning);
@@ -218,13 +210,6 @@ NOINLINE_DECL void msgassertedNoTraceWithLocation(int msgid,
throw AssertionException(msgid, msg);
}
-void msgassertedNoTraceWithLocation(int msgid,
- const std::string& msg,
- const char* file,
- unsigned line) {
- msgassertedNoTraceWithLocation(msgid, msg.c_str(), file, line);
-}
-
void msgassertedNoTraceWithStatusWithLocation(int msgid,
const Status& status,
const char* file,
@@ -232,8 +217,17 @@ void msgassertedNoTraceWithStatusWithLocation(int msgid,
msgassertedNoTraceWithLocation(msgid, status.toString(), file, line);
}
+std::string causedBy(StringData e) {
+ constexpr auto prefix = " :: caused by :: "_sd;
+ std::string out;
+ out.reserve(prefix.size() + e.size());
+ out.append(prefix.rawData(), prefix.size());
+ out.append(e.rawData(), e.size());
+ return out;
+}
+
std::string causedBy(const char* e) {
- return std::string(" :: caused by :: ") + e;
+ return causedBy(StringData(e));
}
std::string causedBy(const DBException& e) {
@@ -245,7 +239,7 @@ std::string causedBy(const std::exception& e) {
}
std::string causedBy(const std::string& e) {
- return causedBy(e.c_str());
+ return causedBy(StringData(e));
}
std::string causedBy(const Status& e) {