Commit e13e9288 authored by konstantin@mysql.com's avatar konstantin@mysql.com

Fix for Bug#3754 "SET GLOBAL myisam_max_sort_file_size doesn't

work as expected": precision-losing conversion removed from 
sys_var_thd_ulonglong.
parent fdc0f0e7
......@@ -377,3 +377,7 @@ select 1;
1
select @@session.key_buffer_size;
Variable 'key_buffer_size' is a GLOBAL variable
set global myisam_max_sort_file_size=4294967296;
show global variables like 'myisam_max_sort_file_size';
Variable_name Value
myisam_max_sort_file_size 4294967296
......@@ -269,3 +269,9 @@ select 1;
--error 1238
select @@session.key_buffer_size;
# Bug#3754 SET GLOBAL myisam_max_sort_file_size doesn't work as
# expected: check that there is no overflow when 64-bit unsigned
# variables are set
set global myisam_max_sort_file_size=4294967296;
show global variables like 'myisam_max_sort_file_size';
......@@ -965,11 +965,11 @@ bool sys_var_thd_ulonglong::update(THD *thd, set_var *var)
{
ulonglong tmp= var->value->val_int();
if ((ulonglong) tmp > max_system_variables.*offset)
if (tmp > max_system_variables.*offset)
tmp= max_system_variables.*offset;
if (option_limits)
tmp= (ulong) getopt_ull_limit_value(tmp, option_limits);
tmp= getopt_ull_limit_value(tmp, option_limits);
if (var->type == OPT_GLOBAL)
{
/* Lock is needed to make things safe on 32 bit systems */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment