diff --git a/src/server/mysql.c b/src/server/mysql.c --- a/src/server/mysql.c +++ b/src/server/mysql.c @@ -91,7 +91,6 @@ int mysqlConnect(distrend_mysql_conn_t * char *database = "distren"; mysqlconn = mysql_init(NULL); - mysql_options(mysqlconn, MYSQL_OPT_RECONNECT,"true"); if(!mysql_real_connect(mysqlconn, server, user, password, database, 0, NULL, CLIENT_MULTI_STATEMENTS)) { @@ -99,6 +98,9 @@ int mysqlConnect(distrend_mysql_conn_t * return 1; } + mysql_options(mysqlconn, MYSQL_OPT_RECONNECT,"true"); // After mysql_real_connect due to bug fixed in MySQL 5.1.6 and later + + *conn = malloc(sizeof(struct distrend_mysql_conn)); if(!*conn) { @@ -146,13 +148,19 @@ distrend_mysql_result_t mysqlQuery(distr /** make sure that connection is still alive */ + if(mysql_ping(conn->mysqlconn)) fprintf(stderr, "MySQL Connection _was_ broken or may be broken, I'm not sure exactly what this return value means\n"); + + fprintf(stderr,"Querying... "); if (mysql_query(conn->mysqlconn, query)) fprintf(stderr, "%s\n", mysql_error(conn->mysqlconn)); + fprintf(stderr,"Queried!\n"); + fprintf(stderr,"Getting results... "); result = mysql_use_result(conn->mysqlconn); + fprintf(stderr,"Done!\n"); distrenresult = malloc(sizeof(struct distrend_mysql_result)); if(!distrenresult)