~jlukas79/+junk/mysql-server

« back to all changes in this revision

Viewing changes to mysql-test/t/init_connect_basic.test

manual merge 6.0-main --> 6.0-bka-review

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
############## mysql-test\t\init_connect_basic.test ###########################
 
2
#                                                                             #
 
3
# Variable Name: init_connect                                                 #
 
4
# Scope: GLOBAL                                                               #
 
5
# Access Type: Dynamic                                                        #
 
6
# Data Type: string                                                           #
 
7
# Default Value:                                                              #
 
8
# Range:                                                                      #
 
9
#                                                                             #
 
10
#                                                                             #
 
11
# Creation Date: 2008-02-07                                                   #
 
12
# Author:  Rizwan                                                             #
 
13
#                                                                             #
 
14
# Description: Test Cases of Dynamic System Variable init_connect             #
 
15
#              that checks the behavior of this variable in the following ways#
 
16
#              * Default Value                                                #
 
17
#              * Valid & Invalid values                                       #
 
18
#              * Scope & Access method                                        #
 
19
#              * Data Integrity                                               #
 
20
#                                                                             #
 
21
# Reference: http://dev.mysql.com/doc/refman/5.1/en/                          #
 
22
#  server-system-variables.html                                               #
 
23
#                                                                             #
 
24
###############################################################################
 
25
 
 
26
--source include/load_sysvars.inc
 
27
##############################################
 
28
##       START OF init_connect TESTS        ##
 
29
##############################################
 
30
 
 
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;
 
37
 
 
38
--echo '#--------------------FN_DYNVARS_036_01------------------#'
 
39
###############################################################################
 
40
#       Test Variable access and assignment with and without @@               #
 
41
###############################################################################
 
42
# select without @@
 
43
--error ER_BAD_FIELD_ERROR
 
44
SELECT init_connect;
 
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;
 
57
 
 
58
 
 
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;
 
66
 
 
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;
 
79
 
 
80
--echo '#--------------------FN_DYNVARS_036_04-------------------------#'
 
81
#########################################################################
 
82
#     Change the value of init_connect to a valid value                 #
 
83
#########################################################################
 
84
 
 
85
SET @@global.init_connect="";
 
86
SELECT @@global.init_connect;
 
87
 
 
88
SET @@global.init_connect='SELECT 1,"abc"';
 
89
SELECT @@global.init_connect;
 
90
 
 
91
SET @@global.init_connect='SET @yoursql="mysql"';
 
92
SELECT @@global.init_connect;
 
93
 
 
94
SET @@global.init_connect="SET autocomit=0;REVOKE ALL ON INFORMATION_SCHEMA.*";
 
95
SELECT @@global.init_connect;
 
96
 
 
97
SET @@global.init_connect='SHOW VARIABLES';
 
98
SELECT @@global.init_connect;
 
99
 
 
100
SET @@global.init_connect = NULL;
 
101
SELECT @@global.init_connect;
 
102
 
 
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;
 
106
 
 
107
SET @@global.init_connect=this_will_give_syntax_error;
 
108
SELECT @@global.init_connect;
 
109
 
 
110
SET @@global.init_connect = init_slave;
 
111
SELECT @@global.init_connect;
 
112
 
 
113
--echo '#--------------------FN_DYNVARS_036_05-------------------------#'
 
114
###########################################################################
 
115
#     Change the value of init_connect to an invalid value for global     #
 
116
###########################################################################
 
117
 
 
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;
 
130
 
 
131
SET @@global.init_connect = ON;
 
132
SELECT @@global.init_connect;
 
133
 
 
134
--echo '#--------------------FN_DYNVARS_036_06-------------------------#'
 
135
##############################################################################
 
136
#     Check if the value in GLOBAL Table matches value in variable           #
 
137
##############################################################################
 
138
 
 
139
SELECT @@global.init_connect = (SELECT VARIABLE_VALUE 
 
140
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES 
 
141
WHERE VARIABLE_NAME='init_connect') AS res;
 
142
 
 
143
####################################
 
144
#     Restore initial value        #
 
145
####################################
 
146
SET @@global.init_connect = @global_start_value;
 
147
SELECT @@global.init_connect;
 
148
 
 
149
#####################################################
 
150
#                 END OF init_connect TESTS         #
 
151
#####################################################