MySQL Lists are EOL. Please join:

List:Commits« Previous MessageNext Message »
From:Davi Arnaut Date:July 30 2010 12:17pm
Subject:bzr commit into mysql-5.1-bugteam branch (davi:3462) Bug#54041
View as plain text  
# At a local mysql-5.1-bugteam repository of davi

 3462 Davi Arnaut	2010-07-30
      Bug#54041: MySQL 5.0.92 fails when tests from Connector/C suite run
      
      Fix a regression (due to a typo) which caused spurious incorrect
      argument errors for long data stream parameters if all forms of
      logging were disabled (binary, general and slow logs).
     @ mysql-test/t/mysql_client_test.test
        Save the status of the slow_log.
     @ sql/sql_prepare.cc
        Add a missing logical NOT operator.
     @ tests/mysql_client_test.c
        Disable all query logs when running C tests. Fixes a omission
        when, slow log should have been disabled too.
        
        Run test case for Bug#54041 with query logs enabled and disabled.

    modified:
      mysql-test/r/mysql_client_test.result
      mysql-test/t/mysql_client_test.test
      sql/sql_prepare.cc
      tests/mysql_client_test.c
=== modified file 'mysql-test/r/mysql_client_test.result'
--- a/mysql-test/r/mysql_client_test.result	2008-11-13 19:19:00 +0000
+++ b/mysql-test/r/mysql_client_test.result	2010-07-30 12:17:10 +0000
@@ -1,3 +1,5 @@
 SET @old_general_log= @@global.general_log;
+SET @old_slow_query_log= @@global.slow_query_log;
 ok
 SET @@global.general_log= @old_general_log;
+SET @@global.slow_query_log= @old_slow_query_log;

=== modified file 'mysql-test/t/mysql_client_test.test'
--- a/mysql-test/t/mysql_client_test.test	2008-11-13 19:19:00 +0000
+++ b/mysql-test/t/mysql_client_test.test	2010-07-30 12:17:10 +0000
@@ -2,6 +2,7 @@
 -- source include/not_embedded.inc
 
 SET @old_general_log= @@global.general_log;
+SET @old_slow_query_log= @@global.slow_query_log;
 
 # We run with different binaries for normal and --embedded-server
 #
@@ -17,3 +18,4 @@ SET @old_general_log= @@global.general_l
 echo ok;
 
 SET @@global.general_log= @old_general_log;
+SET @@global.slow_query_log= @old_slow_query_log;

=== modified file 'sql/sql_prepare.cc'
--- a/sql/sql_prepare.cc	2010-07-21 07:56:43 +0000
+++ b/sql/sql_prepare.cc	2010-07-30 12:17:10 +0000
@@ -793,7 +793,7 @@ static bool insert_params_with_log(Prepa
       type (the types are supplied at execute). Check that the
       supplied type of placeholder can accept a data stream.
     */
-    else if (!is_param_long_data_type(param))
+    else if (! is_param_long_data_type(param))
       DBUG_RETURN(1);
     res= param->query_val_str(&str);
     if (param->convert_str_value(thd))
@@ -839,7 +839,7 @@ static bool insert_params(Prepared_state
       type (the types are supplied at execute). Check that the
       supplied type of placeholder can accept a data stream.
     */
-    else if (is_param_long_data_type(param))
+    else if (! is_param_long_data_type(param))
       DBUG_RETURN(1);
     if (param->convert_str_value(stmt->thd))
       DBUG_RETURN(1);                           /* out of memory */

=== modified file 'tests/mysql_client_test.c'
--- a/tests/mysql_client_test.c	2010-07-19 18:34:28 +0000
+++ b/tests/mysql_client_test.c	2010-07-30 12:17:10 +0000
@@ -13246,37 +13246,52 @@ static void test_bug15518()
 }
 
 
-static void disable_general_log()
+static void disable_query_logs()
 {
   int rc;
   rc= mysql_query(mysql, "set @@global.general_log=off");
   myquery(rc);
+  rc= mysql_query(mysql, "set @@global.slow_query_log=off");
+  myquery(rc);
 }
 
 
-static void enable_general_log(int truncate)
+static void enable_query_logs(int truncate)
 {
   int rc;
 
   rc= mysql_query(mysql, "set @save_global_general_log=@@global.general_log");
   myquery(rc);
 
+  rc= mysql_query(mysql, "set @save_global_slow_query_log=@@global.slow_query_log");
+  myquery(rc);
+
   rc= mysql_query(mysql, "set @@global.general_log=on");
   myquery(rc);
 
+  rc= mysql_query(mysql, "set @@global.slow_query_log=on");
+  myquery(rc);
+
+
   if (truncate)
   {
     rc= mysql_query(mysql, "truncate mysql.general_log");
     myquery(rc);
+
+    rc= mysql_query(mysql, "truncate mysql.slow_log");
+    myquery(rc);
   }
 }
 
 
-static void restore_general_log()
+static void restore_query_logs()
 {
   int rc;
   rc= mysql_query(mysql, "set @@global.general_log=@save_global_general_log");
   myquery(rc);
+
+  rc= mysql_query(mysql, "set @@global.slow_query_log=@save_global_slow_query_log");
+  myquery(rc);
 }
 
 
@@ -15447,7 +15462,7 @@ static void test_bug17667()
     return;
   }
 
-  enable_general_log(1);
+  enable_query_logs(1);
 
   for (statement_cursor= statements; statement_cursor->buffer != NULL;
        statement_cursor++)
@@ -15527,7 +15542,7 @@ static void test_bug17667()
              statement_cursor->buffer);
   }
 
-  restore_general_log();
+  restore_query_logs();
 
   if (!opt_silent)
     printf("success.  All queries found intact in the log.\n");
@@ -17390,7 +17405,7 @@ static void test_bug28386()
   }
   mysql_free_result(result);
 
-  enable_general_log(1);
+  enable_query_logs(1);
 
   stmt= mysql_simple_prepare(mysql, "SELECT ?");
   check_stmt(stmt);
@@ -17429,7 +17444,7 @@ static void test_bug28386()
 
   mysql_free_result(result);
 
-  restore_general_log();
+  restore_query_logs();
 
   DBUG_VOID_RETURN;
 }
@@ -18215,7 +18230,7 @@ static void test_bug42373()
   Bug#54041: MySQL 5.0.92 fails when tests from Connector/C suite run
 */
 
-static void test_bug54041()
+static void test_bug54041_impl()
 {
   int rc;
   MYSQL_STMT *stmt;
@@ -18230,7 +18245,7 @@ static void test_bug54041()
   rc= mysql_query(mysql, "CREATE TABLE t1 (a INT)");
   myquery(rc);
 
-  stmt= mysql_simple_prepare(mysql, "INSERT INTO t1 (a) VALUES (?)");
+  stmt= mysql_simple_prepare(mysql, "SELECT a FROM t1 WHERE a > ?");
   check_stmt(stmt);
   verify_param_count(stmt, 1);
 
@@ -18268,6 +18283,20 @@ static void test_bug54041()
 }
 
 
+/**
+  Bug#54041: MySQL 5.0.92 fails when tests from Connector/C suite run
+*/
+
+static void test_bug54041()
+{
+  enable_query_logs(0);
+  test_bug54041_impl();
+  disable_query_logs();
+  test_bug54041_impl();
+  restore_query_logs();
+}
+
+
 /*
   Read and parse arguments and MySQL options from my.cnf
 */
@@ -18348,7 +18377,7 @@ and you are welcome to modify and redist
 
 
 static struct my_tests_st my_tests[]= {
-  { "disable_general_log", disable_general_log },
+  { "disable_query_logs", disable_query_logs },
   { "test_view_sp_list_fields", test_view_sp_list_fields },
   { "client_query", client_query },
   { "test_prepare_insert_update", test_prepare_insert_update},


Attachment: [text/bzr-bundle] bzr/davi.arnaut@oracle.com-20100730121710-5fzd21qldlotvzmu.bundle
Thread
bzr commit into mysql-5.1-bugteam branch (davi:3462) Bug#54041Davi Arnaut30 Jul
Re: bzr commit into mysql-5.1-bugteam branch (davi:3462) Bug#54041Konstantin Osipov30 Jul