List:Commits« Previous MessageNext Message »
From:Bjorn Munch Date:January 6 2010 8:45am
Subject:bzr commit into mysql-5.1-mtr branch (Bjorn.Munch:2871) Bug#49269
View as plain text  
#At file:///home/bm136801/my/case-51/ based on revid:bjorn.munch@stripped

 2871 Bjorn Munch	2010-01-06
      Bug #49269 mysqltest crashes on 'reap' if query executed after 'send'
      Set a flag after send to trap the case

    modified:
      client/mysqltest.cc
=== modified file 'client/mysqltest.cc'
--- a/client/mysqltest.cc	2010-01-06 08:42:21 +0000
+++ b/client/mysqltest.cc	2010-01-06 08:45:28 +0000
@@ -228,6 +228,8 @@ struct st_connection
   char *name;
   size_t name_len;
   MYSQL_STMT* stmt;
+  /* Set after send to disallow other queries before reap */
+  my_bool pending;
 
 #ifdef EMBEDDED_LIBRARY
   const char *cur_query;
@@ -4691,7 +4693,8 @@ void do_close_connection(struct st_comma
   if (con->util_mysql)
     mysql_close(con->util_mysql);
   con->util_mysql= 0;
-
+  con->pending= FALSE;
+  
   my_free(con->name, MYF(0));
 
   /*
@@ -6513,6 +6516,9 @@ void run_query_normal(struct st_connecti
 
   if (flags & QUERY_SEND_FLAG)
   {
+    if (cn->pending)
+      die ("Cannot run query on connection between send and reap");
+    
     /*
       Send the query
     */
@@ -6532,8 +6538,11 @@ void run_query_normal(struct st_connecti
     wait_query_thread_end(cn);
 #endif /*EMBEDDED_LIBRARY*/
   if (!(flags & QUERY_REAP_FLAG))
+  {
+    cn->pending= TRUE;
     DBUG_VOID_RETURN;
-
+  }
+  
   do
   {
     /*
@@ -6622,6 +6631,7 @@ void run_query_normal(struct st_connecti
 
 end:
 
+  cn->pending= FALSE;
   /*
     We save the return code (mysql_errno(mysql)) from the last call sent
     to the server into the mysqltest builtin variable $mysql_errno. This


Attachment: [text/bzr-bundle] bzr/bjorn.munch@sun.com-20100106084528-gy4k0nn42dv6a3jb.bundle
Thread
bzr commit into mysql-5.1-mtr branch (Bjorn.Munch:2871) Bug#49269Bjorn Munch6 Jan