diff options
author | Blake Oler <blake.oler@mongodb.com> | 2019-02-13 12:44:39 -0500 |
---|---|---|
committer | Blake Oler <blake.oler@mongodb.com> | 2019-02-20 15:41:41 -0500 |
commit | bdd0c8ff4cb70b3c14e2dfbe68c0baa3b26a6e82 (patch) | |
tree | 9add6eba3de4aebaf6b1e9b6b2be1ef53059598e /src/mongo/db/op_observer_registry.h | |
parent | 0d79175a88ee958722c0ffb276606949e695d028 (diff) | |
download | mongo-bdd0c8ff4cb70b3c14e2dfbe68c0baa3b26a6e82.tar.gz |
SERVER-39561 Split OpObserver::onTransactionCommit() into two functions for unprepared and prepared transactions respectively
Diffstat (limited to 'src/mongo/db/op_observer_registry.h')
-rw-r--r-- | src/mongo/db/op_observer_registry.h | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/src/mongo/db/op_observer_registry.h b/src/mongo/db/op_observer_registry.h index 6ea895855d1..946ee8893e9 100644 --- a/src/mongo/db/op_observer_registry.h +++ b/src/mongo/db/op_observer_registry.h @@ -258,13 +258,22 @@ public: o->onEmptyCapped(opCtx, collectionName, uuid); } - void onTransactionCommit(OperationContext* opCtx, - boost::optional<OplogSlot> commitOplogEntryOpTime, - boost::optional<Timestamp> commitTimestamp, - std::vector<repl::ReplOperation>& statements) override { + void onUnpreparedTransactionCommit( + OperationContext* opCtx, const std::vector<repl::ReplOperation>& statements) override { ReservedTimes times{opCtx}; for (auto& o : _observers) - o->onTransactionCommit(opCtx, commitOplogEntryOpTime, commitTimestamp, statements); + o->onUnpreparedTransactionCommit(opCtx, statements); + } + + void onPreparedTransactionCommit( + OperationContext* opCtx, + OplogSlot commitOplogEntryOpTime, + Timestamp commitTimestamp, + const std::vector<repl::ReplOperation>& statements) noexcept override { + ReservedTimes times{opCtx}; + for (auto& o : _observers) + o->onPreparedTransactionCommit( + opCtx, commitOplogEntryOpTime, commitTimestamp, statements); } void onTransactionPrepare(OperationContext* opCtx, |