diff options
author | Jonathan Reams <jbreams@mongodb.com> | 2020-02-10 10:14:32 +0100 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2020-02-10 13:08:24 +0000 |
commit | 6c9c0b19d5980f065e1ff2ad624bb8d18bb88fe5 (patch) | |
tree | 678fca12abb4d786006bac635c430f806bb0ab13 /src/mongo/db/transaction_participant_test.cpp | |
parent | 43c2b5b172cf6783319944c0d6931478db01eefa (diff) | |
download | mongo-6c9c0b19d5980f065e1ff2ad624bb8d18bb88fe5.tar.gz |
SERVER-45806 Record pre-images on updates and deletes when recordPreImage is enabled
Diffstat (limited to 'src/mongo/db/transaction_participant_test.cpp')
-rw-r--r-- | src/mongo/db/transaction_participant_test.cpp | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/mongo/db/transaction_participant_test.cpp b/src/mongo/db/transaction_participant_test.cpp index a364e9f8283..932ef261e88 100644 --- a/src/mongo/db/transaction_participant_test.cpp +++ b/src/mongo/db/transaction_participant_test.cpp @@ -100,14 +100,16 @@ class OpObserverMock : public OpObserverNoop { public: void onTransactionPrepare(OperationContext* opCtx, const std::vector<OplogSlot>& reservedSlots, - std::vector<repl::ReplOperation>& statements) override; + std::vector<repl::ReplOperation>* statements, + size_t numberOfPreImagesToWrite) override; bool onTransactionPrepareThrowsException = false; bool transactionPrepared = false; std::function<void()> onTransactionPrepareFn = []() {}; void onUnpreparedTransactionCommit(OperationContext* opCtx, - const std::vector<repl::ReplOperation>& statements) override; + std::vector<repl::ReplOperation>* statements, + size_t numberOfPreImagesToWrite) override; bool onUnpreparedTransactionCommitThrowsException = false; bool unpreparedTransactionCommitted = false; std::function<void(const std::vector<repl::ReplOperation>&)> onUnpreparedTransactionCommitFn = @@ -142,9 +144,11 @@ public: void OpObserverMock::onTransactionPrepare(OperationContext* opCtx, const std::vector<OplogSlot>& reservedSlots, - std::vector<repl::ReplOperation>& statements) { + std::vector<repl::ReplOperation>* statements, + size_t numberOfPreImagesToWrite) { ASSERT_TRUE(opCtx->lockState()->inAWriteUnitOfWork()); - OpObserverNoop::onTransactionPrepare(opCtx, reservedSlots, statements); + OpObserverNoop::onTransactionPrepare( + opCtx, reservedSlots, statements, numberOfPreImagesToWrite); uassert(ErrorCodes::OperationFailed, "onTransactionPrepare() failed", @@ -153,18 +157,19 @@ void OpObserverMock::onTransactionPrepare(OperationContext* opCtx, onTransactionPrepareFn(); } -void OpObserverMock::onUnpreparedTransactionCommit( - OperationContext* opCtx, const std::vector<repl::ReplOperation>& statements) { +void OpObserverMock::onUnpreparedTransactionCommit(OperationContext* opCtx, + std::vector<repl::ReplOperation>* statements, + size_t numberOfPreImagesToWrite) { ASSERT(opCtx->lockState()->inAWriteUnitOfWork()); - OpObserverNoop::onUnpreparedTransactionCommit(opCtx, statements); + OpObserverNoop::onUnpreparedTransactionCommit(opCtx, statements, numberOfPreImagesToWrite); uassert(ErrorCodes::OperationFailed, "onUnpreparedTransactionCommit() failed", !onUnpreparedTransactionCommitThrowsException); unpreparedTransactionCommitted = true; - onUnpreparedTransactionCommitFn(statements); + onUnpreparedTransactionCommitFn(*statements); } void OpObserverMock::onPreparedTransactionCommit( |