diff --git a/lib/ProxySQL_Statistics.cpp b/lib/ProxySQL_Statistics.cpp index 5148a4c92..05dc7d51f 100644 --- a/lib/ProxySQL_Statistics.cpp +++ b/lib/ProxySQL_Statistics.cpp @@ -466,6 +466,10 @@ void ProxySQL_Statistics::system_cpu_sets() { char *query1=NULL; query1=(char *)"INSERT INTO system_cpu VALUES (?1, ?2, ?3)"; rc=sqlite3_prepare_v2(mydb3, query1, -1, &statement1, 0); + if (rc!=SQLITE_OK) { + proxy_error("SQLITE CRITICAL error: %s . Shutting down.\n", sqlite3_errmsg(mydb3)); + exit(EXIT_SUCCESS); + } time_t ts = time(NULL); @@ -529,6 +533,10 @@ void ProxySQL_Statistics::system_memory_sets() { char *query1=NULL; query1=(char *)"INSERT INTO system_memory VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7)"; rc=sqlite3_prepare_v2(mydb3, query1, -1, &statement1, 0); + if (rc!=SQLITE_OK) { + proxy_error("SQLITE CRITICAL error: %s . Shutting down.\n", sqlite3_errmsg(mydb3)); + exit(EXIT_SUCCESS); + } time_t ts = time(NULL); @@ -713,7 +721,10 @@ void ProxySQL_Statistics::MySQL_Threads_Handler_sets(SQLite3_result *resultset) query1=(char *)"INSERT INTO mysql_connections VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8, ?9, ?10, ?11, ?12, ?13)"; //query2=(char *)"INSERT INTO myhgm_connections VALUES (?1, ?2, ?3, ?4, ?5, ?6)"; rc=sqlite3_prepare_v2(mydb3, query1, -1, &statement1, 0); - assert(rc==SQLITE_OK); + if (rc!=SQLITE_OK) { + proxy_error("SQLITE CRITICAL error: %s . Shutting down.\n", sqlite3_errmsg(mydb3)); + exit(EXIT_SUCCESS); + } //rc=sqlite3_prepare_v2(mydb3, query2, -1, &statement2, 0); //assert(rc==SQLITE_OK); //rc=sqlite3_prepare_v2(mydb3, query3, -1, &statement3, 0); @@ -838,7 +849,10 @@ void ProxySQL_Statistics::MySQL_Query_Cache_sets(SQLite3_result *resultset) { char *query1=NULL; query1=(char *)"INSERT INTO mysql_query_cache VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8, ?9)"; rc=sqlite3_prepare_v2(mydb3, query1, -1, &statement1, 0); - assert(rc==SQLITE_OK); + if (rc!=SQLITE_OK) { + proxy_error("SQLITE CRITICAL error: %s . Shutting down.\n", sqlite3_errmsg(mydb3)); + exit(EXIT_SUCCESS); + } uint64_t qc_values[9]; for (int i=0; i<9; i++) { diff --git a/lib/sqlite3db.cpp b/lib/sqlite3db.cpp index 6c1e12d94..cc01f5626 100644 --- a/lib/sqlite3db.cpp +++ b/lib/sqlite3db.cpp @@ -37,13 +37,14 @@ int SQLite3DB::open(char *__url, int flags) { url=strdup(__url); int rc; rc=sqlite3_open_v2(url, &db, flags , NULL); - if(rc){ + if (rc) { proxy_debug(PROXY_DEBUG_SQLITE, 1, "SQLITE: Error on sqlite3_open_v2(): %s\n", sqlite3_errmsg(db)); if (assert_on_error) { assert(rc==0); } - return -1; - } + proxy_error("SQLITE CRITICAL error: Unable to open %s. Shutting down.\n", url); + exit(EXIT_SUCCESS); + } return 0; }