From 367a04a83cd8cc280052f6392d1e701470cc6d03 Mon Sep 17 00:00:00 2001 From: Oscar Franco Date: Wed, 15 Nov 2023 09:39:07 +0100 Subject: [PATCH] Throw better error descriptions along with the code --- cpp/bridge.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/cpp/bridge.cpp b/cpp/bridge.cpp index c4a5733..1010517 100644 --- a/cpp/bridge.cpp +++ b/cpp/bridge.cpp @@ -264,6 +264,8 @@ BridgeResult sqliteExecute(std::string const dbName, bool isConsuming = true; bool isFailed = false; + int result = SQLITE_OK; + do { const char *queryStr = remainingStatement == nullptr ? query.c_str() : remainingStatement; @@ -274,7 +276,7 @@ BridgeResult sqliteExecute(std::string const dbName, const char *message = sqlite3_errmsg(db); return { .type = SQLiteError, - .message = "[op-sqlite] SQL execution error: " + std::string(message), + .message = "[op-sqlite] SQL statement error: " + std::string(message), }; } @@ -282,7 +284,7 @@ BridgeResult sqliteExecute(std::string const dbName, isConsuming = true; - int result, i, count, column_type; + int i, count, column_type; std::string column_name, column_declared_type; while (isConsuming) @@ -390,7 +392,7 @@ BridgeResult sqliteExecute(std::string const dbName, } sqlite3_finalize(statement); - } while (strcmp(remainingStatement, "") != 0 && !isFailed); + } while (remainingStatement != NULL && strcmp(remainingStatement, "") != 0 && !isFailed); if (isFailed) @@ -398,7 +400,7 @@ BridgeResult sqliteExecute(std::string const dbName, const char *message = sqlite3_errmsg(db); return { .type = SQLiteError, - .message = "[op-sqlite] SQL execution error: " + std::string(message) + .message = "[op-sqlite] SQLite code: " + std::to_string(result) + " execution error: " + std::string(message) }; } @@ -434,7 +436,7 @@ BridgeResult sqliteExecuteLiteral(std::string const dbName, std::string const &q const char *message = sqlite3_errmsg(db); return { SQLiteError, - "[op-sqlite] SQL execution error: " + std::string(message), + "[op-sqlite] SQL statement error: " + std::string(message), 0}; }