Hi,

After some discussion[1] on the FreeTDS list, the attached patch[2]
should fix this.

[1] http://lists.ibiblio.org/pipermail/freetds/2013q3/028493.html
[2] https://gist.github.com/msabramo/6501240

-- 
James Andrewartha
Network & Projects Engineer
Christ Church Grammar School
Claremont, Western Australia
Ph. (08) 9442 1757
Mob. 0424 160 877
diff --git a/mssqldbmodule.c b/mssqldbmodule.c
index 151bc2c..7081715 100644
--- a/mssqldbmodule.c
+++ b/mssqldbmodule.c
@@ -1934,12 +1934,12 @@ PyObject *get_result(_mssql_connection *conn) {
 
  // find a result set that has at least one column
 	conn->last_dbresults = SUCCEED;
-	while (conn->last_dbresults == SUCCEED &&
-			(conn->num_columns = dbnumcols(conn->dbproc)) <= 0) {
+	do {
 		Py_BEGIN_ALLOW_THREADS
 		conn->last_dbresults = dbresults(conn->dbproc);
 		Py_END_ALLOW_THREADS
-	}
+	} while (conn->last_dbresults == SUCCEED &&
+			(conn->num_columns = dbnumcols(conn->dbproc)) <= 0);
 
 	check_cancel_and_raise(conn->last_dbresults, conn);
 

Reply via email to