Commit 611a09f5 authored by Tatiana A. Nurnberg's avatar Tatiana A. Nurnberg

Bug#36446: Attempt to set @@join_buffer_size to its minimum value produces spurious warning

If a sys-var has a base and a block-size>1, and then a
user-supplied value >= minimum ended up below minimum
thanks to block-size alignment, we threw a warning.
This meant for instance that when getting, then setting
the minimum, we'd see a warning. This was needlessly
confusing. (updated patch)
parent ec39e58d
...@@ -27,6 +27,7 @@ set @my_slow_launch_time =@@global.slow_launch_time; ...@@ -27,6 +27,7 @@ set @my_slow_launch_time =@@global.slow_launch_time;
set @my_storage_engine =@@global.storage_engine; set @my_storage_engine =@@global.storage_engine;
set @my_thread_cache_size =@@global.thread_cache_size; set @my_thread_cache_size =@@global.thread_cache_size;
set @my_max_allowed_packet =@@global.max_allowed_packet; set @my_max_allowed_packet =@@global.max_allowed_packet;
set @my_join_buffer_size =@@global.join_buffer_size;
set @`test`=1; set @`test`=1;
select @test, @`test`, @TEST, @`TEST`, @"teSt"; select @test, @`test`, @TEST, @`TEST`, @"teSt";
@test @`test` @TEST @`TEST` @"teSt" @test @`test` @TEST @`TEST` @"teSt"
...@@ -1018,6 +1019,11 @@ show variables like 'hostname'; ...@@ -1018,6 +1019,11 @@ show variables like 'hostname';
Variable_name Value Variable_name Value
hostname # hostname #
End of 5.0 tests End of 5.0 tests
set join_buffer_size=1;
Warnings:
Warning 1292 Truncated incorrect join_buffer_size value: '1'
set @save_join_buffer_size=@@join_buffer_size;
set join_buffer_size=@save_join_buffer_size;
set global binlog_cache_size =@my_binlog_cache_size; set global binlog_cache_size =@my_binlog_cache_size;
set global connect_timeout =@my_connect_timeout; set global connect_timeout =@my_connect_timeout;
set global delayed_insert_timeout =@my_delayed_insert_timeout; set global delayed_insert_timeout =@my_delayed_insert_timeout;
...@@ -1048,6 +1054,7 @@ set global slow_launch_time =@my_slow_launch_time; ...@@ -1048,6 +1054,7 @@ set global slow_launch_time =@my_slow_launch_time;
set global storage_engine =@my_storage_engine; set global storage_engine =@my_storage_engine;
set global thread_cache_size =@my_thread_cache_size; set global thread_cache_size =@my_thread_cache_size;
set global max_allowed_packet =@my_max_allowed_packet; set global max_allowed_packet =@my_max_allowed_packet;
set global join_buffer_size =@my_join_buffer_size;
show global variables where Variable_name='table_definition_cache' or show global variables where Variable_name='table_definition_cache' or
Variable_name='table_lock_wait_timeout'; Variable_name='table_lock_wait_timeout';
Variable_name Value Variable_name Value
......
...@@ -36,6 +36,7 @@ set @my_slow_launch_time =@@global.slow_launch_time; ...@@ -36,6 +36,7 @@ set @my_slow_launch_time =@@global.slow_launch_time;
set @my_storage_engine =@@global.storage_engine; set @my_storage_engine =@@global.storage_engine;
set @my_thread_cache_size =@@global.thread_cache_size; set @my_thread_cache_size =@@global.thread_cache_size;
set @my_max_allowed_packet =@@global.max_allowed_packet; set @my_max_allowed_packet =@@global.max_allowed_packet;
set @my_join_buffer_size =@@global.join_buffer_size;
# case insensitivity tests (new in 5.0) # case insensitivity tests (new in 5.0)
set @`test`=1; set @`test`=1;
select @test, @`test`, @TEST, @`TEST`, @"teSt"; select @test, @`test`, @TEST, @`TEST`, @"teSt";
...@@ -780,6 +781,18 @@ show variables like 'hostname'; ...@@ -780,6 +781,18 @@ show variables like 'hostname';
--echo End of 5.0 tests --echo End of 5.0 tests
#
# Bug#36446: Attempt to set @@join_buffer_size to its minimum value
# produces spurious warning
#
# set to 1 so mysqld will correct to minimum (+ warn)
set join_buffer_size=1;
# save minimum
set @save_join_buffer_size=@@join_buffer_size;
# set minimum
set join_buffer_size=@save_join_buffer_size;
# This is at the very after the versioned tests, since it involves doing # This is at the very after the versioned tests, since it involves doing
# cleanup # cleanup
# #
...@@ -816,6 +829,8 @@ set global slow_launch_time =@my_slow_launch_time; ...@@ -816,6 +829,8 @@ set global slow_launch_time =@my_slow_launch_time;
set global storage_engine =@my_storage_engine; set global storage_engine =@my_storage_engine;
set global thread_cache_size =@my_thread_cache_size; set global thread_cache_size =@my_thread_cache_size;
set global max_allowed_packet =@my_max_allowed_packet; set global max_allowed_packet =@my_max_allowed_packet;
set global join_buffer_size =@my_join_buffer_size;
# #
# Bug#28580 Repeatation of status variables # Bug#28580 Repeatation of status variables
# #
......
...@@ -846,6 +846,7 @@ longlong getopt_ll_limit_value(longlong num, const struct my_option *optp, ...@@ -846,6 +846,7 @@ longlong getopt_ll_limit_value(longlong num, const struct my_option *optp,
if (num < optp->min_value) if (num < optp->min_value)
{ {
num= optp->min_value; num= optp->min_value;
if (old < optp->min_value)
adjusted= TRUE; adjusted= TRUE;
} }
...@@ -917,6 +918,7 @@ ulonglong getopt_ull_limit_value(ulonglong num, const struct my_option *optp, ...@@ -917,6 +918,7 @@ ulonglong getopt_ull_limit_value(ulonglong num, const struct my_option *optp,
if (num < (ulonglong) optp->min_value) if (num < (ulonglong) optp->min_value)
{ {
num= (ulonglong) optp->min_value; num= (ulonglong) optp->min_value;
if (old < optp->min_value)
adjusted= TRUE; adjusted= TRUE;
} }
......
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