diff options
Diffstat (limited to 'mysql-test/t/concurrent_insert_basic.test')
-rw-r--r-- | mysql-test/t/concurrent_insert_basic.test | 178 |
1 files changed, 178 insertions, 0 deletions
diff --git a/mysql-test/t/concurrent_insert_basic.test b/mysql-test/t/concurrent_insert_basic.test new file mode 100644 index 00000000000..bc401ef22a3 --- /dev/null +++ b/mysql-test/t/concurrent_insert_basic.test @@ -0,0 +1,178 @@ +############## mysql-test\t\concurrent_insert_basic.test ####################### +# # +# Variable Name: concurrent_insert # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: Boolean & Numeric # +# Default Value: 1 # +# Valid Values: 0,1 & 2 # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Salman Rawala # +# # +# Description: Test Cases of Dynamic System Variable "concurrent_insert" # +# 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_concurrent_insert # +# # +################################################################################ + +--source include/load_sysvars.inc + +################################################################# +# START OF concurrent_insert TESTS # +################################################################# + + +######################################################################### +# Saving initial value of concurrent_insert in a temporary variable # +######################################################################### + +SET @start_value = @@global.concurrent_insert; +SELECT @start_value; + +--echo '#--------------------FN_DYNVARS_018_01------------------------#' +######################################################################### +# Display the DEFAULT value of concurrent_insert # +######################################################################### + +SET @@global.concurrent_insert = 0; +SET @@global.concurrent_insert = DEFAULT; +SELECT @@global.concurrent_insert; + +--echo '#---------------------FN_DYNVARS_018_02-------------------------#' +############################################### +# Verify default value of variable # +############################################### + +SET @@global.concurrent_insert = DEFAULT; +SELECT @@global.concurrent_insert = 1; + + +--echo '#--------------------FN_DYNVARS_018_03------------------------#' +######################################################################### +# Change the value of concurrent_insert to a valid value # +######################################################################### + +SET @@global.concurrent_insert = 0; +SELECT @@global.concurrent_insert; +SET @@global.concurrent_insert = 1; +SELECT @@global.concurrent_insert; +SET @@global.concurrent_insert = 2; +SELECT @@global.concurrent_insert; + +--echo '#--------------------FN_DYNVARS_018_04-------------------------#' +########################################################################### +# Change the value of concurrent_insert to invalid value # +########################################################################### + +SET @@global.concurrent_insert = -1; +Select @@global.concurrent_insert; +SET @@global.concurrent_insert = 100; +Select @@global.concurrent_insert; +echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.concurrent_insert = TRUEF; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.concurrent_insert = TRUE_F; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.concurrent_insert = FALSE0; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.concurrent_insert = OON; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.concurrent_insert = ONN; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.concurrent_insert = OOFF; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.concurrent_insert = 0FF; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.concurrent_insert = ' '; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.concurrent_insert = " "; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.concurrent_insert = ''; + + +--echo '#-------------------FN_DYNVARS_018_05----------------------------#' +##################################################################### +# Test if accessing session concurrent_insert gives error # +##################################################################### + +--Error ER_GLOBAL_VARIABLE +SET @@session.concurrent_insert = 1; +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.concurrent_insert = 1; + + +--echo '#----------------------FN_DYNVARS_018_06------------------------#' +#################################################################### +# Check if the value in GLOBAL Tables matches values in variable # +#################################################################### + +SELECT @@global.concurrent_insert = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='concurrent_insert'; + + +--echo '#---------------------FN_DYNVARS_018_07----------------------#' +################################################################### +# Check if ON and OFF values can be used on variable # +################################################################### + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.concurrent_insert = OFF; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.concurrent_insert = ON; + + +--echo '#---------------------FN_DYNVARS_018_08----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +SET @@global.concurrent_insert = TRUE; +SELECT @@global.concurrent_insert; +SET @@global.concurrent_insert = FALSE; +SELECT @@global.concurrent_insert; + +--echo '#---------------------FN_DYNVARS_018_09----------------------#' +############################################################################### +# Check if accessing variable without SCOPE points to same global variable # +############################################################################### + +SET @@global.concurrent_insert = 1; +SELECT @@concurrent_insert = @@global.concurrent_insert; + + +--echo '#---------------------FN_DYNVARS_018_10----------------------#' +############################################################################### +# Check if concurrent_insert can be accessed with and without @@ sign # +############################################################################### + +--Error ER_GLOBAL_VARIABLE +SET concurrent_insert = 1; +SELECT @@concurrent_insert; +--Error ER_PARSE_ERROR +SET global.concurrent_insert = 1; +--Error ER_UNKNOWN_TABLE +SELECT global.concurrent_insert; +--Error ER_BAD_FIELD_ERROR +SELECT concurrent_insert = @@session.concurrent_insert; + +############################## +# Restore initial value # +############################## + +SET @@global.concurrent_insert = @start_value; +SELECT @@global.concurrent_insert; + +####################################################### +# END OF concurrent_insert TESTS # +####################################################### + |