Several fixed to graceful shutdown if proxysql_stats.db is not writable #1431

pull/1434/head
René Cannaò 8 years ago
parent c28d61561b
commit 380523d392

@ -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++) {

@ -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;
}

Loading…
Cancel
Save