From 6f5040401320f7cdb619bb7a84684d1dcdab0973 Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Sun, 3 Feb 2013 11:29:37 -0800 Subject: [PATCH 1/2] Log unexpected sqlite3 errors. --- src/cpp/database/SqliteDatabase.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/cpp/database/SqliteDatabase.cpp b/src/cpp/database/SqliteDatabase.cpp index 4575a9e8b4..62550acd3b 100644 --- a/src/cpp/database/SqliteDatabase.cpp +++ b/src/cpp/database/SqliteDatabase.cpp @@ -69,7 +69,11 @@ bool SqliteDatabase::executeSQL(const char* sql, bool fail_ok) } else { - assert((rc != SQLITE_BUSY) && (rc != SQLITE_LOCKED)); + if ((rc != SQLITE_BUSY) && (rc != SQLITE_LOCKED)) + { + cLog(lsFATAL) << "SQLite returns error " << rc << ": " << sqlite3_errmsg(mConnection); + assert(false); + } mMoreRows = false; if (!fail_ok) From a17234f4f5cafa24e092fb535ada600d5e6fe5b1 Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Sun, 3 Feb 2013 11:38:26 -0800 Subject: [PATCH 2/2] Make DB logging smarter. --- src/cpp/database/SqliteDatabase.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/cpp/database/SqliteDatabase.cpp b/src/cpp/database/SqliteDatabase.cpp index 62550acd3b..bfed62c018 100644 --- a/src/cpp/database/SqliteDatabase.cpp +++ b/src/cpp/database/SqliteDatabase.cpp @@ -27,7 +27,7 @@ void SqliteDatabase::connect() int rc = sqlite3_open(mHost.c_str(), &mConnection); if (rc) { - cLog(lsFATAL) << "Can't open database: " << mHost << " " << rc; + cLog(lsFATAL) << "Can't open " << mHost << " " << rc; sqlite3_close(mConnection); assert((rc != SQLITE_BUSY) && (rc != SQLITE_LOCKED)); } @@ -51,7 +51,7 @@ bool SqliteDatabase::executeSQL(const char* sql, bool fail_ok) if (!fail_ok) { #ifdef DEBUG - cLog(lsWARNING) << "SQL Perror:" << rc; + cLog(lsWARNING) << "Perror:" << mHost << ": " << rc; cLog(lsWARNING) << "Statement: " << sql; cLog(lsWARNING) << "Error: " << sqlite3_errmsg(mConnection); #endif @@ -71,7 +71,8 @@ bool SqliteDatabase::executeSQL(const char* sql, bool fail_ok) { if ((rc != SQLITE_BUSY) && (rc != SQLITE_LOCKED)) { - cLog(lsFATAL) << "SQLite returns error " << rc << ": " << sqlite3_errmsg(mConnection); + cLog(lsFATAL) << << mHost << " returns error " << rc + << ": " << sqlite3_errmsg(mConnection); assert(false); } mMoreRows = false; @@ -79,7 +80,7 @@ bool SqliteDatabase::executeSQL(const char* sql, bool fail_ok) if (!fail_ok) { #ifdef DEBUG - cLog(lsWARNING) << "SQL Serror:" << rc; + cLog(lsWARNING) << "SQL Serror:" << mHost << ": " << rc; cLog(lsWARNING) << "Statement: " << sql; cLog(lsWARNING) << "Error: " << sqlite3_errmsg(mConnection); #endif @@ -139,7 +140,7 @@ bool SqliteDatabase::getNextRow() else { assert((rc != SQLITE_BUSY) && (rc != SQLITE_LOCKED)); - cLog(lsWARNING) << "SQL Rerror:" << rc; + cLog(lsWARNING) << "Rerror: " << mHost << ": " << rc; return(false); } } @@ -248,7 +249,7 @@ void SqliteDatabase::runWal() int ret = sqlite3_wal_checkpoint_v2(mConnection, db.c_str(), SQLITE_CHECKPOINT_PASSIVE, &log, &ckpt); if (ret != SQLITE_OK) { - cLog((ret == SQLITE_LOCKED) ? lsDEBUG : lsWARNING) << "WAL " + cLog((ret == SQLITE_LOCKED) ? lsDEBUG : lsWARNING) << "WAL " << mHost << ": " << << sqlite3_db_filename(mConnection, "main") << " / " << db << " errror " << ret; } }