diff options
Diffstat (limited to 'mysql-test/t/init_connect_basic.test')
-rw-r--r-- | mysql-test/t/init_connect_basic.test | 151 |
1 files changed, 151 insertions, 0 deletions
diff --git a/mysql-test/t/init_connect_basic.test b/mysql-test/t/init_connect_basic.test new file mode 100644 index 00000000000..8557dfbf4fc --- /dev/null +++ b/mysql-test/t/init_connect_basic.test @@ -0,0 +1,151 @@ +############## mysql-test\t\init_connect_basic.test ########################### +# # +# Variable Name: init_connect # +# Scope: GLOBAL # +# Access Type: Dynamic # +# Data Type: string # +# Default Value: # +# Range: # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Rizwan # +# # +# Description: Test Cases of Dynamic System Variable init_connect # +# that checks the 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 # +# # +############################################################################### + +--source include/load_sysvars.inc +############################################## +## START OF init_connect TESTS ## +############################################## + +############################################################# +# Save initial value # +############################################################# +# save using implicit session scope +SET @global_start_value = @@global.init_connect; +SELECT @global_start_value AS INIT_VALUE; + +--echo '#--------------------FN_DYNVARS_036_01------------------#' +############################################################################### +# Test Variable access and assignment with and without @@ # +############################################################################### +# select without @@ +--error ER_BAD_FIELD_ERROR +SELECT init_connect; +# access using no scope specified +SELECT @@init_connect; +# assign value without @@ +SET @@global.init_connect='SET autocomit=0'; +SELECT @@global.init_connect; +# using another syntax for accessing session variable +SET global init_connect='SET autocomit=0'; +# accessing variable with scope the wrong way +--Error ER_BAD_FIELD_ERROR +SELECT global init_connect; +--Error ER_PARSE_ERROR +SELECT @@global init_connect; + + +--echo '#--------------------FN_DYNVARS_036_02-------------------------#' +################################################################## +# Check the DEFAULT value of init_connect for global # +################################################################## +SET @@global.init_connect = 'SET join_buffer_size=8200'; +SET @@global.init_connect = DEFAULT; +SELECT @@global.init_connect; + +--echo '#--------------------FN_DYNVARS_036_03-------------------------#' +###################################################################### +# see if it is accessable using session scope # +###################################################################### +--Error ER_GLOBAL_VARIABLE +SET @@session.init_connect = ''; +--Error ER_GLOBAL_VARIABLE +SET @@init_connect = ''; +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@session.init_connect; +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@local.init_connect; + +--echo '#--------------------FN_DYNVARS_036_04-------------------------#' +######################################################################### +# Change the value of init_connect to a valid value # +######################################################################### + +SET @@global.init_connect=""; +SELECT @@global.init_connect; + +SET @@global.init_connect='SELECT 1,"abc"'; +SELECT @@global.init_connect; + +SET @@global.init_connect='SET @yoursql="mysql"'; +SELECT @@global.init_connect; + +SET @@global.init_connect="SET autocomit=0;REVOKE ALL ON INFORMATION_SCHEMA.*"; +SELECT @@global.init_connect; + +SET @@global.init_connect='SHOW VARIABLES'; +SELECT @@global.init_connect; + +SET @@global.init_connect = NULL; +SELECT @@global.init_connect; + +#any string is accepted as valid value as its is not verified until runtime +SET @@global.init_connect='abc 123 +-*/'; +SELECT @@global.init_connect; + +SET @@global.init_connect=this_will_give_syntax_error; +SELECT @@global.init_connect; + +SET @@global.init_connect = init_slave; +SELECT @@global.init_connect; + +--echo '#--------------------FN_DYNVARS_036_05-------------------------#' +########################################################################### +# Change the value of init_connect to an invalid value for global # +########################################################################### + +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.init_connect = true; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.init_connect = false; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.init_connect = 1.1; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.init_connect = 0; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.init_connect = 1; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@global.init_connect = -1; + +SET @@global.init_connect = ON; +SELECT @@global.init_connect; + +--echo '#--------------------FN_DYNVARS_036_06-------------------------#' +############################################################################## +# Check if the value in GLOBAL Table matches value in variable # +############################################################################## + +SELECT @@global.init_connect = (SELECT VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='init_connect') AS res; + +#################################### +# Restore initial value # +#################################### +SET @@global.init_connect = @global_start_value; +SELECT @@global.init_connect; + +##################################################### +# END OF init_connect TESTS # +##################################################### |