summaryrefslogtreecommitdiff
path: root/src/mongo/db/transaction_participant_test.cpp
diff options
context:
space:
mode:
authorJonathan Reams <jbreams@mongodb.com>2020-02-10 10:14:32 +0100
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-02-10 13:08:24 +0000
commit6c9c0b19d5980f065e1ff2ad624bb8d18bb88fe5 (patch)
tree678fca12abb4d786006bac635c430f806bb0ab13 /src/mongo/db/transaction_participant_test.cpp
parent43c2b5b172cf6783319944c0d6931478db01eefa (diff)
downloadmongo-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.cpp21
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(