# HG changeset patch # User Nathan Phillip Brink # Date 2010-02-19 20:59:02 # Node ID 8514c3a9b38952598e1917202fe344c79deb53a5 # Parent 454199409e36febdc7ebed37b104f0eef529c07d Flush mysql result buffer even when an empty response is expected 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) {