diff options
author | Horst Hunger <horst@mysql.com> | 2009-01-26 16:34:41 +0100 |
---|---|---|
committer | Horst Hunger <horst@mysql.com> | 2009-01-26 16:34:41 +0100 |
commit | 2255610125751cebef8c0bf898ba1868ee641432 (patch) | |
tree | 2ed7d5a0acdbede406108a5c2df531d971a85660 /mysql-test/suite/sys_vars/inc | |
parent | b33437f18a8291f9ff0a779d6aa66ed8a9afffc6 (diff) | |
download | mariadb-git-2255610125751cebef8c0bf898ba1868ee641432.tar.gz |
Modified fix for bug#36876 due to reviews: See bug report.
Diffstat (limited to 'mysql-test/suite/sys_vars/inc')
-rw-r--r-- | mysql-test/suite/sys_vars/inc/key_buffer_size_basic.inc | 87 |
1 files changed, 49 insertions, 38 deletions
diff --git a/mysql-test/suite/sys_vars/inc/key_buffer_size_basic.inc b/mysql-test/suite/sys_vars/inc/key_buffer_size_basic.inc index a8fa50a6a23..e55673fd045 100644 --- a/mysql-test/suite/sys_vars/inc/key_buffer_size_basic.inc +++ b/mysql-test/suite/sys_vars/inc/key_buffer_size_basic.inc @@ -28,59 +28,68 @@ --source include/load_sysvars.inc -######################################################################## +let $minimum_range= BETWEEN 8 AND 36; +######################################################################## # START OF key_buffer_size TESTS # -######################################################################## +######################################################################## --disable_warnings -######################################################################## +######################################################################## # Saving initial value of key_buffer_size in a temporary variable # -######################################################################## +######################################################################## SET @start_value = @@global.key_buffer_size; --echo '#--------------------FN_DYNVARS_055_01------------------------#' -######################################################################## +######################################################################## # Display the DEFAULT value of key_buffer_size # -######################################################################## +######################################################################## SET @@global.key_buffer_size = 99; --Error ER_NO_DEFAULT SET @@global.key_buffer_size = DEFAULT; -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; +eval SELECT @@global.key_buffer_size $minimum_range; --echo '#---------------------FN_DYNVARS_055_02-------------------------#' -############################################### +############################################### # Verify default value of variable # -############################################### +############################################### SET @@global.key_buffer_size = @start_value; SELECT @@global.key_buffer_size = @start_value; --echo '#--------------------FN_DYNVARS_055_03------------------------#' -######################################################################## +######################################################################## # Change the value of key_buffer_size to a valid value # -######################################################################## +######################################################################## SET @@global.key_buffer_size = 8 ; -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; +eval SELECT @@global.key_buffer_size $minimum_range; --disable_warnings -#Due to increasing the runtime significantly and allocating the buffer instantly. +# The next subtest is set to comment because it will +# be tried to allocate the buffer instantly which +# might lead to a message about missing resources, +# excessive runtime etc. especially if the main memory is less than 4GB. #SET @@global.key_buffer_size = 4294967295; --enable_warnings #SELECT @@global.key_buffer_size; SET @@global.key_buffer_size = 1800; -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; +eval SELECT @@global.key_buffer_size $minimum_range; SET @@global.key_buffer_size = 65535; SELECT @@global.key_buffer_size; --echo '#--------------------FN_DYNVARS_055_04-------------------------#' -########################################################################### +########################################################################### # Change the value of key_buffer_size to invalid value # -########################################################################### - -# Due to increasing the runtime significantly and allocating the buffer instantly -# with a size of 18446744073709551615 bytes with 32bit exec. +########################################################################### + +# The next subtests are set to comment because they will +# be tried to allocate the buffer instantly which +# might lead to a message about missing resources, +# excessive runtime etc. especially if the main memory is less than 4GB. +# The negative values lead to very big numbers, e.g. -1 to +# a size of 18446744073709551615 bytes with a 32bit binary. +# See Bug #42103. #SET @@global.key_buffer_size = -1; #SELECT @@global.key_buffer_size; #SET @@global.key_buffer_size = 100000000000; @@ -91,46 +100,49 @@ SELECT @@global.key_buffer_size; #SET @@global.key_buffer_size = -1024; #SELECT @@global.key_buffer_size; SET @@global.key_buffer_size = 4; -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; +eval SELECT @@global.key_buffer_size $minimum_range; --Error ER_WRONG_TYPE_FOR_VAR SET @@global.key_buffer_size = ON; -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; +eval SELECT @@global.key_buffer_size $minimum_range; --Error ER_WRONG_TYPE_FOR_VAR SET @@global.key_buffer_size = 'test'; -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; +eval SELECT @@global.key_buffer_size $minimum_range; --echo '#-------------------FN_DYNVARS_055_05----------------------------#' -########################################################################### +########################################################################### # Test if accessing session key_buffer_size gives error # -########################################################################### +########################################################################### --Error ER_GLOBAL_VARIABLE SET @@session.key_buffer_size = 0; -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; +eval SELECT @@global.key_buffer_size $minimum_range; --echo '#----------------------FN_DYNVARS_055_06------------------------#' -############################################################################## +############################################################################## # Check if the value in GLOBAL & SESSION Tables matches values in variable # ############################################################################## -SELECT @@global.key_buffer_size = VARIABLE_VALUE -FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +SELECT @@global.key_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='key_buffer_size'; -SELECT @@key_buffer_size = VARIABLE_VALUE -FROM INFORMATION_SCHEMA.SESSION_VARIABLES +SELECT @@key_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='key_buffer_size'; --echo '#---------------------FN_DYNVARS_055_07----------------------#' -################################################################### +################################################################### # Check if TRUE and FALSE values can be used on variable # -################################################################### +################################################################### +# The following assignment are accepted, but should be rejected +# like the value ON (see above). +# See Bug #42104 SET @@global.key_buffer_size = TRUE; -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; +eval SELECT @@global.key_buffer_size $minimum_range; SET @@global.key_buffer_size = FALSE; -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; +eval SELECT @@global.key_buffer_size $minimum_range; --echo '#---------------------FN_DYNVARS_055_08----------------------#' ##################################################################### @@ -145,13 +157,13 @@ SELECT @@key_buffer_size = @@global.key_buffer_size; --enable_warnings --echo '#---------------------FN_DYNVARS_055_09----------------------#' -########################################################################## +########################################################################## # Check if key_buffer_size can be accessed with and without @@ sign # ########################################################################## --Error ER_GLOBAL_VARIABLE SET key_buffer_size = 8 ; -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; +eval SELECT @@global.key_buffer_size $minimum_range; --Error ER_PARSE_ERROR SET local.key_buffer_size = 10; --Error ER_UNKNOWN_TABLE @@ -163,8 +175,7 @@ SELECT global.key_buffer_size; --Error ER_BAD_FIELD_ERROR SELECT key_buffer_size = @@session.key_buffer_size; - -############################## +############################## # Restore initial value # ############################## |