From 43faf050061341d7784f35af7d6cd396cd1c1640 Mon Sep 17 00:00:00 2001 From: Martin Brodbeck Date: Mon, 1 Oct 2018 12:04:09 +0200 Subject: [PATCH] Allow adding sellers during sale phase --- src/core/database.cpp | 6 ++++-- src/core/database.h | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/core/database.cpp b/src/core/database.cpp index 123c467..d14d4ae 100644 --- a/src/core/database.cpp +++ b/src/core/database.cpp @@ -212,6 +212,8 @@ void Database::beginTransaction() { exec("BEGIN TRANSACTION"); } void Database::endTransaction() { exec("END TRANSACTION"); } +void Database::rollbackTransaction() { exec("ROLLBACK TRANSACTION"); } + unsigned int Database::storeSellers(std::vector>& sellers, bool onlyDelete) { int retCode{}; @@ -247,10 +249,10 @@ unsigned int Database::storeSellers(std::vector>& seller retCode = sqlite3_step(stmt); if (retCode != SQLITE_DONE) { - + rollbackTransaction(); std::string errMsg(sqlite3_errmsg(db_)); sqlite3_finalize(stmt); - throw std::runtime_error(errMsg); + sqlite3_ throw std::runtime_error(errMsg); } ++count; sqlite3_finalize(stmt); diff --git a/src/core/database.h b/src/core/database.h index 661d433..013978a 100644 --- a/src/core/database.h +++ b/src/core/database.h @@ -32,6 +32,7 @@ class Database void init(); void beginTransaction(); void endTransaction(); + void rollbackTransaction(); void createNew(); int getVersion(); unsigned int storeArticles(std::vector articles);