List:Commits« Previous MessageNext Message »
From:<gshchepa Date:February 7 2008 1:14am
Subject:bk commit into 5.0 tree (gshchepa:1.2594) BUG#34223
View as plain text  
Below is the list of changes that have just been committed into a local
5.0 repository of gshchepa.  When gshchepa does a push these changes
will be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet@stripped, 2008-02-07 04:14:50+04:00, gshchepa@stripped +3 -0
  Fixed bug#34223: Failure on assignment to my_innodb_autoextend_increment
  and my_innodb_commit_concurrency global variables.
  
  Type of the my_innodb_autoextend_increment and the
  my_innodb_commit_concurrency variables has been changed to
  GET_ULONG.
  

  mysql-test/r/variables.result@stripped, 2008-02-07 04:10:08+04:00, gshchepa@stripped +6 -0
    Added test case for bug#34223.

  mysql-test/t/variables.test@stripped, 2008-02-07 04:10:10+04:00, gshchepa@stripped +13 -0
    Added test case for bug#34223.

  sql/mysqld.cc@stripped, 2008-02-07 04:10:10+04:00, gshchepa@stripped +2 -2
    Fixed bug#34223.
    Last update of the getopt_ull_limit_value function introduced
    a sanity check for a variable type (only GET_UINT or GET_ULONG
    are valid types).
    However, my_innodb_autoextend_increment and
    my_innodb_commit_concurrency are declared as GET_LONG.
    Call stack is: 
            sys_var_long_ptr_global::update()
            fix_unsigned()
            getopt_ull_limit_value()
    
    Type of the my_innodb_autoextend_increment and the
    my_innodb_commit_concurrency variables has been changed to
    GET_ULONG.

diff -Nrup a/mysql-test/r/variables.result b/mysql-test/r/variables.result
--- a/mysql-test/r/variables.result	2007-11-30 09:32:02 +04:00
+++ b/mysql-test/r/variables.result	2008-02-07 04:10:08 +04:00
@@ -838,6 +838,12 @@ SELECT @@log_slow_queries;
 1
 SET GLOBAL log_slow_queries=0;
 ERROR HY000: Variable 'log_slow_queries' is a read only variable
+set @my_innodb_autoextend_increment=@@global.innodb_autoextend_increment;
+set global innodb_autoextend_increment=8;
+set global innodb_autoextend_increment=@my_innodb_autoextend_increment;
+set @my_innodb_commit_concurrency=@@global.innodb_commit_concurrency;
+set global innodb_commit_concurrency=0;
+set global innodb_commit_concurrency=@my_innodb_commit_concurrency;
 End of 5.0 tests
 set global binlog_cache_size         =@my_binlog_cache_size;
 set global connect_timeout           =@my_connect_timeout;
diff -Nrup a/mysql-test/t/variables.test b/mysql-test/t/variables.test
--- a/mysql-test/t/variables.test	2007-12-13 14:49:11 +04:00
+++ b/mysql-test/t/variables.test	2008-02-07 04:10:10 +04:00
@@ -696,6 +696,19 @@ SELECT @@log_slow_queries;
 --error 1238
 SET GLOBAL log_slow_queries=0;
 
+#
+# Bug #34223: Assertion failed: (optp->var_type & 127) == 8,
+#             file .\my_getopt.c, line 830
+#
+
+set @my_innodb_autoextend_increment=@@global.innodb_autoextend_increment;
+set global innodb_autoextend_increment=8;
+set global innodb_autoextend_increment=@my_innodb_autoextend_increment;
+
+set @my_innodb_commit_concurrency=@@global.innodb_commit_concurrency;
+set global innodb_commit_concurrency=0;
+set global innodb_commit_concurrency=@my_innodb_commit_concurrency;
+
 --echo End of 5.0 tests
 
 # This is at the very after the versioned tests, since it involves doing
diff -Nrup a/sql/mysqld.cc b/sql/mysqld.cc
--- a/sql/mysqld.cc	2007-12-14 09:53:52 +04:00
+++ b/sql/mysqld.cc	2008-02-07 04:10:10 +04:00
@@ -5798,7 +5798,7 @@ log and this option does nothing anymore
    "Data file autoextend increment in megabytes",
    (gptr*) &srv_auto_extend_increment,
    (gptr*) &srv_auto_extend_increment,
-   0, GET_LONG, REQUIRED_ARG, 8L, 1L, 1000L, 0, 1L, 0},
+   0, GET_ULONG, REQUIRED_ARG, 8L, 1L, 1000L, 0, 1L, 0},
   {"innodb_buffer_pool_awe_mem_mb", OPT_INNODB_BUFFER_POOL_AWE_MEM_MB,
    "If Windows AWE is used, the size of InnoDB buffer pool allocated from the AWE
memory.",
    (gptr*) &innobase_buffer_pool_awe_mem_mb, (gptr*)
&innobase_buffer_pool_awe_mem_mb, 0,
@@ -5811,7 +5811,7 @@ log and this option does nothing anymore
   {"innodb_commit_concurrency", OPT_INNODB_COMMIT_CONCURRENCY,
    "Helps in performance tuning in heavily concurrent environments.",
    (gptr*) &srv_commit_concurrency, (gptr*) &srv_commit_concurrency,
-   0, GET_LONG, REQUIRED_ARG, 0, 0, 1000, 0, 1, 0},
+   0, GET_ULONG, REQUIRED_ARG, 0, 0, 1000, 0, 1, 0},
   {"innodb_concurrency_tickets", OPT_INNODB_CONCURRENCY_TICKETS,
    "Number of times a thread is allowed to enter InnoDB within the same \
     SQL query after it has once got the ticket",
Thread
bk commit into 5.0 tree (gshchepa:1.2594) BUG#34223gshchepa6 Feb 2008