diff --git a/src/server/mysql.c b/src/server/mysql.c --- a/src/server/mysql.c +++ b/src/server/mysql.c @@ -162,12 +162,23 @@ distrend_mysql_result_t mysqlQuery(distr fprintf(stderr, "%s\n", mysql_error(conn->mysqlconn)); fprintf(stderr,"Queried!\n"); - if(!expected_columns) - return NULL; - fprintf(stderr,"Getting results... "); result = mysql_use_result(conn->mysqlconn); + /** + Flush stuff out when an empty set is expected. + */ + if(!expected_columns) + { + while(mysql_fetch_row(result)) + ; + mysql_free_result(result); + return NULL; + } + + /** + Sanity check + */ num_columns = mysql_num_fields(result); if(num_columns != expected_columns) { @@ -176,9 +187,11 @@ distrend_mysql_result_t mysqlQuery(distr mysql_free_result(result); return NULL; } - fprintf(stderr,"Done!\n"); - + + /** + Prepare data for return. + */ distrenresult = malloc(sizeof(struct distrend_mysql_result)); if(!distrenresult) {