summaryrefslogtreecommitdiff
path: root/mysql-test/suite/binlog
diff options
context:
space:
mode:
authorSachin Setiya <sachinsetia1001@gmail.com>2017-01-10 10:08:04 +0530
committerSachin Setiya <sachinsetia1001@gmail.com>2017-01-20 21:33:36 +0530
commit18ef02b04dfae21148c7397d088c7ffdfcd23c4e (patch)
treeb3f554302272dd8502c6ad976324d13794f02f38 /mysql-test/suite/binlog
parentfbcdc3437c94314f69d255a303d791f704916653 (diff)
downloadmariadb-git-18ef02b04dfae21148c7397d088c7ffdfcd23c4e.tar.gz
MDEV-4774 Strangeness with max_binlog_stmt_cache_size Settings
Problem:- When setting max_binlog_stmt_cache_size=18446744073709547520 from either command line or .cnf file, server fails to start. Solution:- Added one more function eval_num_suffix_ull , which uses strtoull to get unsigned ulonglong from string. And getopt_ull calls this function instead of eval_num_suffix. Also changed previous eval_num_suffix to eval_num_suffix_ll to remain consistent.
Diffstat (limited to 'mysql-test/suite/binlog')
-rw-r--r--mysql-test/suite/binlog/r/binlog_max_binlog_stmt_cache_size.result31
-rw-r--r--mysql-test/suite/binlog/t/binlog_max_binlog_stmt_cache_size.opt1
-rw-r--r--mysql-test/suite/binlog/t/binlog_max_binlog_stmt_cache_size.test22
3 files changed, 54 insertions, 0 deletions
diff --git a/mysql-test/suite/binlog/r/binlog_max_binlog_stmt_cache_size.result b/mysql-test/suite/binlog/r/binlog_max_binlog_stmt_cache_size.result
new file mode 100644
index 00000000000..cf4d7004195
--- /dev/null
+++ b/mysql-test/suite/binlog/r/binlog_max_binlog_stmt_cache_size.result
@@ -0,0 +1,31 @@
+select @@max_binlog_stmt_cache_size;
+@@max_binlog_stmt_cache_size
+18446744073709547520
+set global max_binlog_stmt_cache_size= 18446744073709547520;
+select @@max_binlog_stmt_cache_size;
+@@max_binlog_stmt_cache_size
+18446744073709547520
+set global max_binlog_stmt_cache_size= 18446744073709547519;
+Warnings:
+Warning 1292 Truncated incorrect max_binlog_stmt_cache_size value: '18446744073709547519'
+select @@max_binlog_stmt_cache_size;
+@@max_binlog_stmt_cache_size
+18446744073709543424
+set global max_binlog_stmt_cache_size= 18446744073709551615;
+Warnings:
+Warning 1292 Truncated incorrect max_binlog_stmt_cache_size value: '18446744073709551615'
+select @@max_binlog_stmt_cache_size;
+@@max_binlog_stmt_cache_size
+18446744073709547520
+set global max_binlog_stmt_cache_size= 18446744073709551614;
+Warnings:
+Warning 1292 Truncated incorrect max_binlog_stmt_cache_size value: '18446744073709551614'
+select @@max_binlog_stmt_cache_size;
+@@max_binlog_stmt_cache_size
+18446744073709547520
+set global max_binlog_stmt_cache_size= 18446744073709551616;
+ERROR 42000: Incorrect argument type to variable 'max_binlog_stmt_cache_size'
+select @@max_binlog_stmt_cache_size;
+@@max_binlog_stmt_cache_size
+18446744073709547520
+set global max_binlog_stmt_cache_size= 18446744073709547520;
diff --git a/mysql-test/suite/binlog/t/binlog_max_binlog_stmt_cache_size.opt b/mysql-test/suite/binlog/t/binlog_max_binlog_stmt_cache_size.opt
new file mode 100644
index 00000000000..c52ef14d5d0
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_max_binlog_stmt_cache_size.opt
@@ -0,0 +1 @@
+--max_binlog_stmt_cache_size=18446744073709547520
diff --git a/mysql-test/suite/binlog/t/binlog_max_binlog_stmt_cache_size.test b/mysql-test/suite/binlog/t/binlog_max_binlog_stmt_cache_size.test
new file mode 100644
index 00000000000..f85eed3cea8
--- /dev/null
+++ b/mysql-test/suite/binlog/t/binlog_max_binlog_stmt_cache_size.test
@@ -0,0 +1,22 @@
+source include/have_log_bin.inc;
+select @@max_binlog_stmt_cache_size;
+
+--let $cache_size=`select @@max_binlog_stmt_cache_size;`
+
+set global max_binlog_stmt_cache_size= 18446744073709547520;
+select @@max_binlog_stmt_cache_size;
+
+set global max_binlog_stmt_cache_size= 18446744073709547519;
+select @@max_binlog_stmt_cache_size;
+
+set global max_binlog_stmt_cache_size= 18446744073709551615;
+select @@max_binlog_stmt_cache_size;
+
+set global max_binlog_stmt_cache_size= 18446744073709551614;
+select @@max_binlog_stmt_cache_size;
+
+--error ER_WRONG_TYPE_FOR_VAR
+set global max_binlog_stmt_cache_size= 18446744073709551616;
+select @@max_binlog_stmt_cache_size;
+
+--eval set global max_binlog_stmt_cache_size= $cache_size