diff options
Diffstat (limited to 'mysql-test/t/auto_increment_offset_basic.test')
-rw-r--r-- | mysql-test/t/auto_increment_offset_basic.test | 214 |
1 files changed, 214 insertions, 0 deletions
diff --git a/mysql-test/t/auto_increment_offset_basic.test b/mysql-test/t/auto_increment_offset_basic.test new file mode 100644 index 00000000000..a98fd6467ad --- /dev/null +++ b/mysql-test/t/auto_increment_offset_basic.test @@ -0,0 +1,214 @@ +############## mysql-test\t\auto_increment_offset_basic.test ################### +# # +# Variable Name: auto_increment_offset # +# Scope: GLOBAL & SESSION # +# Access Type: Dynamic # +# Data Type: Numeric # +# Default Value: 1 # +# Range: 1 - 65536 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Salman Rawala # +# # +# Description: Test Cases of Dynamic System Variable "auto_increment_offset" # +# that checks behavior of this variable in the following ways # +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# Reference: http://dev.mysql.com/doc/refman/5.1/en/ # +# server-system-variables.html#option_mysqld_auto-increment-offset # +# # +################################################################################ + +--source include/load_sysvars.inc + +##################################################################### +# START OF auto_increment_offset TESTS # +##################################################################### + +############################################################# +# Save initial value # +############################################################# + +SET @start_global_value = @@global.auto_increment_offset; +SELECT @start_global_value; +SET @start_session_value = @@session.auto_increment_offset; +SELECT @start_session_value; + + +--echo '#--------------------FN_DYNVARS_002_01-------------------------#' +##################################################################### +# Display the DEFAULT value of auto_increment_offset # +##################################################################### + +SET @@global.auto_increment_offset = 100; +SET @@global.auto_increment_offset = DEFAULT; +SELECT @@global.auto_increment_offset; + +SET @@session.auto_increment_offset = 200; +SET @@session.auto_increment_offset = DEFAULT; +SELECT @@session.auto_increment_offset; + + +--echo '#--------------------FN_DYNVARS_002_02-------------------------#' +##################################################################### +# Check the DEFAULT value of auto_increment_offset # +##################################################################### + +SET @@global.auto_increment_offset = @start_global_value; +SELECT @@global.auto_increment_offset = 1; +SET @@session.auto_increment_offset = @start_session_value; +SELECT @@session.auto_increment_offset = 1; + + +--echo '#--------------------FN_DYNVARS_002_03-------------------------#' +############################################################################### +# Change the value of auto_increment_offset to a valid value for GLOBAL Scope # +############################################################################### + +SET @@global.auto_increment_offset = 1; +SELECT @@global.auto_increment_offset; +SET @@global.auto_increment_offset = 60020; +SELECT @@global.auto_increment_offset; +SET @@global.auto_increment_offset = 65535; +SELECT @@global.auto_increment_offset; + + +--echo '#--------------------FN_DYNVARS_002_04-------------------------#' +############################################################################### +# Change the value of auto_increment_offset to a valid value for SESSION Scope# +############################################################################### + +SET @@session.auto_increment_offset = 1; +SELECT @@session.auto_increment_offset; +SET @@session.auto_increment_offset = 50050; +SELECT @@session.auto_increment_offset; +SET @@session.auto_increment_offset = 65535; +SELECT @@session.auto_increment_offset; + + +--echo '#------------------FN_DYNVARS_002_05-----------------------#' +################################################################# +# Change the value of auto_increment_offset to an invalid value # +################################################################# +# for global scope +SET @@global.auto_increment_offset = 0; +SELECT @@global.auto_increment_offset; +SET @@global.auto_increment_offset = -1024; +SELECT @@global.auto_increment_offset; +SET @@global.auto_increment_offset = 65536; +SELECT @@global.auto_increment_offset; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.auto_increment_offset = ON; +SELECT @@global.auto_increment_offset; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.auto_increment_offset = OFF; +SELECT @@global.auto_increment_offset; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.auto_increment_offset = test; +SELECT @@global.auto_increment_offset; +# for session scope +SET @@session.auto_increment_offset = 0; +SELECT @@session.auto_increment_offset; +SET @@session.auto_increment_offset = -2; +SELECT @@session.auto_increment_offset; +SET @@session.auto_increment_offset = 65550; +SELECT @@session.auto_increment_offset; +echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@session.auto_increment_offset = ON; +SELECT @@session.auto_increment_offset; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@session.auto_increment_offset = OFF; +SELECT @@session.auto_increment_offset; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@session.auto_increment_offset = test; +SELECT @@session.auto_increment_offset; + + + +--echo '#------------------FN_DYNVARS_002_06-----------------------#' +#################################################################### +# Check if the value in GLOBAL Table matches value in variable # +#################################################################### + +SELECT @@global.auto_increment_offset = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='auto_increment_offset'; + + +--echo '#------------------FN_DYNVARS_002_07-----------------------#' +#################################################################### +# Check if the value in SESSION Table matches value in variable # +#################################################################### + +SELECT @@session.auto_increment_offset = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='auto_increment_offset'; + + +--echo '#------------------FN_DYNVARS_002_08-----------------------#' +#################################################################### +# Check if TRUE and FALSE values can be used on variable # +#################################################################### + +SET @@global.auto_increment_offset = TRUE; +SELECT @@global.auto_increment_offset; +SET @@global.auto_increment_offset = FALSE; +SELECT @@global.auto_increment_offset; + + +--echo '#---------------------FN_DYNVARS_001_09----------------------#' +############################################################################### +# Check if global and session variables are independant of each other # +############################################################################### + +SET @@global.auto_increment_offset = 10; +SET @@session.auto_increment_offset = 11; +SELECT @@auto_increment_offset = @@global.auto_increment_offset; + + +--echo '#---------------------FN_DYNVARS_001_10----------------------#' +############################################################################## +# Check if accessing variable with SESSION,LOCAL and without SCOPE points # +# to same session variable # +############################################################################## + +SET @@auto_increment_offset = 100; +SELECT @@auto_increment_offset = @@local.auto_increment_offset; +SELECT @@local.auto_increment_offset = @@session.auto_increment_offset; + + +--echo '#---------------------FN_DYNVARS_001_11----------------------#' +############################################################################### +# Check if auto_increment_offset can be accessed with and without @@ sign # +############################################################################### + +SET auto_increment_offset = 1; +SELECT @@auto_increment_offset; +--Error ER_UNKNOWN_TABLE +SELECT local.auto_increment_offset; +--Error ER_UNKNOWN_TABLE +SELECT session.auto_increment_offset; +--Error ER_BAD_FIELD_ERROR +SELECT auto_increment_offset = @@session.auto_increment_offset; + + +#################################### +# Restore initial value # +#################################### + +SET @@global.auto_increment_offset = @start_global_value; +SELECT @@global.auto_increment_offset; +SET @@session.auto_increment_offset = @start_session_value; +SELECT @@session.auto_increment_offset; + + +################################################### +# END OF auto_increment_offset TESTS # +################################################### + |