1
############## mysql-test\t\init_connect_basic.test ###########################
3
# Variable Name: init_connect #
5
# Access Type: Dynamic #
11
# Creation Date: 2008-02-07 #
14
# Description: Test Cases of Dynamic System Variable init_connect #
15
# that checks the behavior of this variable in the following ways#
17
# * Valid & Invalid values #
18
# * Scope & Access method #
21
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
22
# server-system-variables.html #
24
###############################################################################
26
--source include/load_sysvars.inc
27
##############################################
28
## START OF init_connect TESTS ##
29
##############################################
31
#############################################################
32
# Save initial value #
33
#############################################################
34
# save using implicit session scope
35
SET @global_start_value = @@global.init_connect;
36
SELECT @global_start_value AS INIT_VALUE;
38
--echo '#--------------------FN_DYNVARS_036_01------------------#'
39
###############################################################################
40
# Test Variable access and assignment with and without @@ #
41
###############################################################################
43
--error ER_BAD_FIELD_ERROR
45
# access using no scope specified
46
SELECT @@init_connect;
47
# assign value without @@
48
SET @@global.init_connect='SET autocomit=0';
49
SELECT @@global.init_connect;
50
# using another syntax for accessing session variable
51
SET global init_connect='SET autocomit=0';
52
# accessing variable with scope the wrong way
53
--Error ER_BAD_FIELD_ERROR
54
SELECT global init_connect;
55
--Error ER_PARSE_ERROR
56
SELECT @@global init_connect;
59
--echo '#--------------------FN_DYNVARS_036_02-------------------------#'
60
##################################################################
61
# Check the DEFAULT value of init_connect for global #
62
##################################################################
63
SET @@global.init_connect = 'SET join_buffer_size=8200';
64
SET @@global.init_connect = DEFAULT;
65
SELECT @@global.init_connect;
67
--echo '#--------------------FN_DYNVARS_036_03-------------------------#'
68
######################################################################
69
# see if it is accessable using session scope #
70
######################################################################
71
--Error ER_GLOBAL_VARIABLE
72
SET @@session.init_connect = '';
73
--Error ER_GLOBAL_VARIABLE
74
SET @@init_connect = '';
75
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
76
SELECT @@session.init_connect;
77
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
78
SELECT @@local.init_connect;
80
--echo '#--------------------FN_DYNVARS_036_04-------------------------#'
81
#########################################################################
82
# Change the value of init_connect to a valid value #
83
#########################################################################
85
SET @@global.init_connect="";
86
SELECT @@global.init_connect;
88
SET @@global.init_connect='SELECT 1,"abc"';
89
SELECT @@global.init_connect;
91
SET @@global.init_connect='SET @yoursql="mysql"';
92
SELECT @@global.init_connect;
94
SET @@global.init_connect="SET autocomit=0;REVOKE ALL ON INFORMATION_SCHEMA.*";
95
SELECT @@global.init_connect;
97
SET @@global.init_connect='SHOW VARIABLES';
98
SELECT @@global.init_connect;
100
SET @@global.init_connect = NULL;
101
SELECT @@global.init_connect;
103
#any string is accepted as valid value as its is not verified until runtime
104
SET @@global.init_connect='abc 123 +-*/';
105
SELECT @@global.init_connect;
107
SET @@global.init_connect=this_will_give_syntax_error;
108
SELECT @@global.init_connect;
110
SET @@global.init_connect = init_slave;
111
SELECT @@global.init_connect;
113
--echo '#--------------------FN_DYNVARS_036_05-------------------------#'
114
###########################################################################
115
# Change the value of init_connect to an invalid value for global #
116
###########################################################################
118
--Error ER_WRONG_TYPE_FOR_VAR
119
SET @@global.init_connect = true;
120
--Error ER_WRONG_TYPE_FOR_VAR
121
SET @@global.init_connect = false;
122
--Error ER_WRONG_TYPE_FOR_VAR
123
SET @@global.init_connect = 1.1;
124
--Error ER_WRONG_TYPE_FOR_VAR
125
SET @@global.init_connect = 0;
126
--Error ER_WRONG_TYPE_FOR_VAR
127
SET @@global.init_connect = 1;
128
--Error ER_WRONG_TYPE_FOR_VAR
129
SET @@global.init_connect = -1;
131
SET @@global.init_connect = ON;
132
SELECT @@global.init_connect;
134
--echo '#--------------------FN_DYNVARS_036_06-------------------------#'
135
##############################################################################
136
# Check if the value in GLOBAL Table matches value in variable #
137
##############################################################################
139
SELECT @@global.init_connect = (SELECT VARIABLE_VALUE
140
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
141
WHERE VARIABLE_NAME='init_connect') AS res;
143
####################################
144
# Restore initial value #
145
####################################
146
SET @@global.init_connect = @global_start_value;
147
SELECT @@global.init_connect;
149
#####################################################
150
# END OF init_connect TESTS #
151
#####################################################