diff options
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.cpp | 13 |
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() { |