From 5542d4e0f0112294d6784367c9920d9bfaedb779 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 26 Feb 2018 17:07:42 +0100 Subject: [PATCH] fix(SmartTransaction): do not log rollback if transaction is committed --- src/db/internal/db-exception-handler.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/db/internal/db-exception-handler.h b/src/db/internal/db-exception-handler.h index 5590f4478..e3787a52a 100644 --- a/src/db/internal/db-exception-handler.h +++ b/src/db/internal/db-exception-handler.h @@ -36,15 +36,18 @@ LINPHONE_BEGIN_NAMESPACE class SmartTransaction { public: - SmartTransaction (soci::session *session, const char *name) : mTransaction(*session), mName(name) { + SmartTransaction (soci::session *session, const char *name) : + mTransaction(*session), mName(name), mIsCommitted(false) { lInfo() << "Start transaction " << this << " in MainDb::" << mName << "."; } ~SmartTransaction () { - lInfo() << "Rollback transaction " << this << " in MainDb::" << mName << "."; + if (!mIsCommitted) + lInfo() << "Rollback transaction " << this << " in MainDb::" << mName << "."; } void commit () { + mIsCommitted = true; lInfo() << "Commit transaction " << this << " in MainDb::" << mName << "."; mTransaction.commit(); } @@ -52,6 +55,7 @@ public: private: soci::transaction mTransaction; const char *mName; + bool mIsCommitted; L_DISABLE_COPY(SmartTransaction); };