summaryrefslogtreecommitdiff
path: root/src/mongo/db/storage/wiredtiger/wiredtiger_begin_transaction_block.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/storage/wiredtiger/wiredtiger_begin_transaction_block.cpp')
-rw-r--r--src/mongo/db/storage/wiredtiger/wiredtiger_begin_transaction_block.cpp13
1 files changed, 3 insertions, 10 deletions
diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_begin_transaction_block.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_begin_transaction_block.cpp
index 0954cdb7ddc..42ab62e3b2a 100644
--- a/src/mongo/db/storage/wiredtiger/wiredtiger_begin_transaction_block.cpp
+++ b/src/mongo/db/storage/wiredtiger/wiredtiger_begin_transaction_block.cpp
@@ -88,16 +88,9 @@ WiredTigerBeginTxnBlock::~WiredTigerBeginTxnBlock() {
Status WiredTigerBeginTxnBlock::setReadSnapshot(Timestamp readTimestamp) {
invariant(_rollback);
- // Avoid heap allocation in favour of a stack allocation for the configuration string.
- static constexpr auto configFmtString = "read_timestamp={:x}";
- static constexpr auto numBytesRequired = std::char_traits<char>::length(configFmtString) +
- (sizeof(decltype(readTimestamp.asULL())) * 2) + 1;
- std::array<char, numBytesRequired> configString;
- auto end =
- fmt::format_to(configString.begin(), FMT_STRING(configFmtString), readTimestamp.asULL());
- *end = '\0';
-
- return wtRCToStatus(_session->timestamp_transaction(_session, configString.data()), _session);
+ return wtRCToStatus(
+ _session->timestamp_transaction_uint(_session, WT_TS_TXN_TYPE_READ, readTimestamp.asULL()),
+ _session);
}
void WiredTigerBeginTxnBlock::done() {