diff --git a/src/solar-logger/database.cpp b/src/solar-logger/database.cpp index 28b9faf..115d9de 100644 --- a/src/solar-logger/database.cpp +++ b/src/solar-logger/database.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #include #include #include @@ -42,12 +43,22 @@ bool Database::Insert(ZeverRow & row) std::stringstream transaction; transaction << "BEGIN TRANSACTION;" << ToSqlInsertStatement(row) << ToSqlUpsertStatement(row) << "COMMIT;"; - return sqlite3_exec(connectionPtr, transaction.str().c_str(), nullptr, nullptr, nullptr); + if(sqlite3_exec(connectionPtr, transaction.str().c_str(), nullptr, nullptr, nullptr) != SQLITE_OK) + { + spdlog::error("Failed to insert Zeverlution record into SQLite database: {}", sqlite3_errmsg(connectionPtr)); + return false; + } + return true; } bool Database::Insert(EnvoyRow & row) { - return sqlite3_exec(connectionPtr, ToSqlInsertStatement(row).c_str(), nullptr, nullptr, nullptr); + if(sqlite3_exec(connectionPtr, ToSqlInsertStatement(row).c_str(), nullptr, nullptr, nullptr) != SQLITE_OK) + { + spdlog::error("Failed to insert Envoy record into SQLite database: {}", sqlite3_errmsg(connectionPtr)); + return false; + } + return true; } Database::Database(std::string const & databasePath) : connectionPtr(nullptr) diff --git a/src/solar-logger/main.cpp b/src/solar-logger/main.cpp index 5c20148..8a044c4 100644 --- a/src/solar-logger/main.cpp +++ b/src/solar-logger/main.cpp @@ -127,10 +127,8 @@ int main(int argc, char ** argv) .kilowattPerHour = zeverData->kilowattPerHour, }; - auto const insertionResult = db.Insert(row); - if(insertionResult) + if(!db.Insert(row)) { - spdlog::error("Error {} during insertion of new value into database", insertionResult); return -1; } } @@ -156,10 +154,8 @@ int main(int argc, char ** argv) .inverterTime = parsed->readingTime, }; - auto const insertionResult = db.Insert(row); - if(insertionResult) + if(!db.Insert(row)) { - spdlog::error("Error {} during insertion of new value into database", insertionResult); return -1; } }