1
############## mysql-test\t\group_concat_max_len_basic.test ###############
3
# Variable Name: group_concat_max_len #
4
# Scope: GLOBAL | SESSION #
5
# Access Type: Dynamic #
7
# Default Value: 1024 #
11
# Creation Date: 2008-02-07 #
14
# Description: Test Cases of Dynamic System Variable group_concat_max_len #
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
28
########################################################################
29
# START OF group_concat_max_len TESTS #
30
########################################################################
33
#############################################################
34
# Save initial value #
35
#############################################################
37
SET @start_global_value = @@global.group_concat_max_len;
38
SELECT @start_global_value;
39
SET @start_session_value = @@session.group_concat_max_len;
40
SELECT @start_session_value;
43
--echo '#--------------------FN_DYNVARS_034_01-------------------------#'
44
########################################################################
45
# Display the DEFAULT value of group_concat_max_len #
46
########################################################################
48
SET @@global.group_concat_max_len = 100;
49
SET @@global.group_concat_max_len = DEFAULT;
50
SELECT @@global.group_concat_max_len;
52
SET @@session.group_concat_max_len = 200;
53
SET @@session.group_concat_max_len = DEFAULT;
54
SELECT @@session.group_concat_max_len;
57
--echo '#--------------------FN_DYNVARS_034_02-------------------------#'
58
########################################################################
59
# Check the DEFAULT value of group_concat_max_len #
60
########################################################################
62
SET @@global.group_concat_max_len = DEFAULT;
63
SELECT @@global.group_concat_max_len = 1;
65
SET @@session.group_concat_max_len = DEFAULT;
66
SELECT @@session.group_concat_max_len = 1;
69
--echo '#--------------------FN_DYNVARS_034_03-------------------------#'
70
##################################################################################
71
# Change the value of group_concat_max_len to a valid value for GLOBAL Scope #
72
##################################################################################
74
SET @@global.group_concat_max_len = 1;
75
SELECT @@global.group_concat_max_len;
76
SET @@global.group_concat_max_len = 60020;
77
SELECT @@global.group_concat_max_len;
78
SET @@global.group_concat_max_len = 65535;
79
SELECT @@global.group_concat_max_len;
82
--echo '#--------------------FN_DYNVARS_034_04-------------------------#'
83
###################################################################################
84
# Change the value of group_concat_max_len to a valid value for SESSION Scope #
85
###################################################################################
87
SET @@session.group_concat_max_len = 1;
88
SELECT @@session.group_concat_max_len;
89
SET @@session.group_concat_max_len = 50050;
90
SELECT @@session.group_concat_max_len;
91
SET @@session.group_concat_max_len = 65535;
92
SELECT @@session.group_concat_max_len;
95
--echo '#------------------FN_DYNVARS_034_05-----------------------#'
96
####################################################################
97
# Change the value of group_concat_max_len to an invalid value #
98
####################################################################
100
SET @@global.group_concat_max_len = 0;
101
SELECT @@global.group_concat_max_len;
102
SET @@global.group_concat_max_len = -1024;
103
SELECT @@global.group_concat_max_len;
104
SET @@global.group_concat_max_len = 65536;
105
SELECT @@global.group_concat_max_len;
106
--Error ER_PARSE_ERROR
107
SET @@global.group_concat_max_len = 65530.34.;
108
SELECT @@global.group_concat_max_len;
109
--Error ER_WRONG_TYPE_FOR_VAR
110
SET @@global.group_concat_max_len = test;
111
SELECT @@global.group_concat_max_len;
113
SET @@session.group_concat_max_len = 0;
114
SELECT @@session.group_concat_max_len;
115
SET @@session.group_concat_max_len = -2;
116
SELECT @@session.group_concat_max_len;
117
--Error ER_PARSE_ERROR
118
SET @@session.group_concat_max_len = 65530.34.;
119
SET @@session.group_concat_max_len = 65550;
120
SELECT @@session.group_concat_max_len;
121
echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable';
123
--Error ER_WRONG_TYPE_FOR_VAR
124
SET @@session.group_concat_max_len = test;
125
SELECT @@session.group_concat_max_len;
128
--echo '#------------------FN_DYNVARS_034_06-----------------------#'
129
####################################################################
130
# Check if the value in GLOBAL Table matches value in variable #
131
####################################################################
134
SELECT @@global.group_concat_max_len = VARIABLE_VALUE
135
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
136
WHERE VARIABLE_NAME='group_concat_max_len';
138
--echo '#------------------FN_DYNVARS_034_07-----------------------#'
139
####################################################################
140
# Check if the value in SESSION Table matches value in variable #
141
####################################################################
143
SELECT @@session.group_concat_max_len = VARIABLE_VALUE
144
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
145
WHERE VARIABLE_NAME='group_concat_max_len';
148
--echo '#------------------FN_DYNVARS_034_08-----------------------#'
149
####################################################################
150
# Check if TRUE and FALSE values can be used on variable #
151
####################################################################
153
SET @@global.group_concat_max_len = TRUE;
154
SELECT @@global.group_concat_max_len;
155
SET @@global.group_concat_max_len = FALSE;
156
SELECT @@global.group_concat_max_len;
159
--echo '#---------------------FN_DYNVARS_001_09----------------------#'
160
####################################################################################
161
# Check if accessing variable with and without GLOBAL point to same variable #
162
####################################################################################
164
SET @@global.group_concat_max_len = 10;
165
SELECT @@group_concat_max_len = @@global.group_concat_max_len;
168
--echo '#---------------------FN_DYNVARS_001_10----------------------#'
169
########################################################################################################
170
# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable #
171
########################################################################################################
173
SET @@group_concat_max_len = 100;
174
SELECT @@group_concat_max_len = @@local.group_concat_max_len;
175
SELECT @@local.group_concat_max_len = @@session.group_concat_max_len;
178
--echo '#---------------------FN_DYNVARS_001_11----------------------#'
179
###################################################################################
180
# Check if group_concat_max_len can be accessed with and without @@ sign #
181
###################################################################################
183
SET group_concat_max_len = 1;
184
SELECT @@group_concat_max_len;
185
--Error ER_UNKNOWN_TABLE
186
SELECT local.group_concat_max_len;
187
--Error ER_UNKNOWN_TABLE
188
SELECT session.group_concat_max_len;
189
--Error ER_BAD_FIELD_ERROR
190
SELECT group_concat_max_len = @@session.group_concat_max_len;
193
####################################
194
# Restore initial value #
195
####################################
197
SET @@global.group_concat_max_len = @start_global_value;
198
SELECT @@global.group_concat_max_len;
199
SET @@session.group_concat_max_len = @start_session_value;
200
SELECT @@session.group_concat_max_len;
203
#############################################################
204
# END OF group_concat_max_len TESTS #
205
#############################################################