• Satya B's avatar
    Fix for BUG#10206 - InnoDB: Transaction requiring Max_BinLog_Cache_size > 4GB · 143d70a9
    Satya B authored
                        always rollsback.
    
    The global variable max_binlog_cache_size cannot be set more than 4GB on
    32 bit systems, limiting transactions of all storage engines to 4G of changes.
    
    The problem is max_binlog_cache_size is declared as ulong which is 4 bytes
    on 32 bit and 8 bytes on 64 bit machines.
    
    Fixed by using ulonglong for max_binlog_cache_size which is 8bytes on 32 
    and 64 bit machines.The range for max_binlog_cache_size on 32 bit and 64 bit
    systems is 4096-18446744073709547520 bytes.
    
    mysql-test/r/variables.result:
      Result file for BUG#10206
    mysql-test/t/variables.test:
      Testcase for BUG#10206
    sql/mysql_priv.h:
      change the extern declaration of max_binlog_cache_size to ulonglong
    sql/mysqld.cc:
      change the declaration of max_binlog_cache_size to ulonglong and the option is fixed to extend the range of max_binlog_cache_size
    sql/set_var.cc:
      change the variable declaration of max_binlog_cache_size to ulonglong
    143d70a9
mysqld.cc 316 KB