From b076cdb20825396c5e9b259e9b6cff0e9326fdb3 Mon Sep 17 00:00:00 2001
From: "kent@mysql.com" <>
Date: Mon, 16 May 2005 01:08:42 +0200
Subject: [PATCH] mysqltest.c:   To solve bug#8455, call mysql_affected_rows()
 earlier, before query to find warnings

---
 client/mysqltest.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/client/mysqltest.c b/client/mysqltest.c
index 1f95f1eaeeb..e60d9ecd1c5 100644
--- a/client/mysqltest.c
+++ b/client/mysqltest.c
@@ -2597,6 +2597,8 @@ static int run_query_normal(MYSQL* mysql, struct st_query* q, int flags)
 
     if (!disable_result_log)
     {
+      ulong affected_rows;    /* Ok to be undef if 'disable_info' is set */
+
       if (res)
       {
 	MYSQL_FIELD *field= mysql_fetch_fields(res);
@@ -2619,6 +2621,13 @@ static int run_query_normal(MYSQL* mysql, struct st_query* q, int flags)
 	append_result(ds, res);
       }
 
+      /*
+        Need to call mysql_affected_rows() before the new
+        query to find the warnings
+      */
+      if (!disable_info)
+        affected_rows= (ulong)mysql_affected_rows(mysql);
+
       /* Add all warnings to the result */
       if (!disable_warnings && mysql_warning_count(mysql))
       {
@@ -2641,7 +2650,7 @@ static int run_query_normal(MYSQL* mysql, struct st_query* q, int flags)
       if (!disable_info)
       {
 	char buf[40];
-	sprintf(buf,"affected rows: %lu\n",(ulong) mysql_affected_rows(mysql));
+	sprintf(buf,"affected rows: %lu\n", affected_rows);
 	dynstr_append(ds, buf);
 	if (mysql_info(mysql))
 	{
-- 
2.30.9