summaryrefslogtreecommitdiff
path: root/mysql-test/t/variables.test
diff options
context:
space:
mode:
authorSatya B <satya.bn@sun.com>2009-05-15 16:33:08 +0530
committerSatya B <satya.bn@sun.com>2009-05-15 16:33:08 +0530
commit1e37c919ef557f00476779b660ecf0c309c99457 (patch)
tree1b06fc5572cee939621b7545a98f4e6ab6e9f6f2 /mysql-test/t/variables.test
parentc5548ad7bdb8faa673c8455ebd4d98aad93b43eb (diff)
downloadmariadb-git-1e37c919ef557f00476779b660ecf0c309c99457.tar.gz
Fix for BUG#10206 - InnoDB: Transaction requiring Max_BinLog_Cache_size > 4GB
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
Diffstat (limited to 'mysql-test/t/variables.test')
-rw-r--r--mysql-test/t/variables.test9
1 files changed, 9 insertions, 0 deletions
diff --git a/mysql-test/t/variables.test b/mysql-test/t/variables.test
index 6da20409639..2115627efee 100644
--- a/mysql-test/t/variables.test
+++ b/mysql-test/t/variables.test
@@ -1201,4 +1201,13 @@ SET GLOBAL server_id = -1;
SELECT @@GLOBAL.server_id;
SET GLOBAL server_id = @old_server_id;
+--echo #
+--echo # BUG#10206 - InnoDB: Transaction requiring Max_BinLog_Cache_size > 4GB always rollsback
+--echo #
+
+SET @old_max_binlog_cache_size = @@GLOBAL.max_binlog_cache_size;
+--echo # Set the max_binlog_cache_size to size more than 4GB.
+SET GLOBAL max_binlog_cache_size = 5 * 1024 * 1024 * 1024;
+SELECT @@GLOBAL.max_binlog_cache_size;
+SET GLOBAL max_binlog_cache_size = @old_max_binlog_cache_size;
--echo End of 5.1 tests