1
SET @save = @@global.group_concat_max_len;
2
DROP TABLE IF EXISTS t1;
3
## Creating new table t1 ##
6
id INT NOT NULL AUTO_INCREMENT,
11
'#--------------------FN_DYNVARS_034_01-------------------------#'
12
## Setting initial value of variable to 4 ##
13
SET @@global.group_concat_max_len = 4;
14
## Inserting some rows in table ##
15
INSERT INTO t1(rollno, name) VALUES(1, 'Record_1');
16
INSERT INTO t1(rollno, name) VALUES(2, 'Record_2');
17
INSERT INTO t1(rollno, name) VALUES(1, 'Record_3');
18
INSERT INTO t1(rollno, name) VALUES(3, 'Record_4');
19
INSERT INTO t1(rollno, name) VALUES(1, 'Record_5');
20
INSERT INTO t1(rollno, name) VALUES(3, 'Record_6');
21
INSERT INTO t1(rollno, name) VALUES(4, 'Record_7');
22
INSERT INTO t1(rollno, name) VALUES(4, 'Record_8');
23
SELECT * FROM t1 ORDER BY id;
33
## Creating two new connections ##
34
'#--------------------FN_DYNVARS_034_02-------------------------#'
35
## Connecting with test_con1 ##
36
## Accessing data and using group_concat on column whose value is greater than 4 ##
37
SELECT id, rollno, GROUP_CONCAT(name) FROM t1 GROUP BY rollno;
38
id rollno GROUP_CONCAT(name)
44
Warning 1260 4 line(s) were cut by GROUP_CONCAT()
45
## Changing session value of variable and verifying its behavior, ##
46
## warning should come here ##
47
SET @@session.group_concat_max_len = 10;
48
SELECT id, rollno, GROUP_CONCAT(name) FROM t1 GROUP BY rollno;
49
id rollno GROUP_CONCAT(name)
55
Warning 1260 3 line(s) were cut by GROUP_CONCAT()
56
'#--------------------FN_DYNVARS_034_03-------------------------#'
57
## Connecting with new connection test_con2 ##
58
## Verifying initial value of variable. It should be 4 ##
59
SELECT @@session.group_concat_max_len = 4;
60
@@session.group_concat_max_len = 4
62
## Setting session value of variable to 20 and verifying variable is concating ##
63
## column's value to 20 or not ##
64
SET @@session.group_concat_max_len = 20;
65
## Verifying value of name column, it should not me more than 20 characters ##
66
## Warning should come here ##
67
SELECT id, rollno, GROUP_CONCAT(name) FROM t1 GROUP BY rollno;
68
id rollno GROUP_CONCAT(name)
69
1 1 Record_1,Record_3,Re
74
Warning 1260 1 line(s) were cut by GROUP_CONCAT()
75
'#--------------------FN_DYNVARS_034_04-------------------------#'
76
## Setting session value of variable to 26. No warning should appear here ##
77
## because the value after concatination is less than 30 ##
78
SET @@session.group_concat_max_len = 26;
79
## Verifying value of name column, it should not give warning now ##
80
SELECT id, rollno, GROUP_CONCAT(name) FROM t1 GROUP BY rollno;
81
id rollno GROUP_CONCAT(name)
82
1 1 Record_1,Record_3,Record_5
86
## Dropping table t1 ##
88
## Disconnecting both the connection ##
89
SET @@global.group_concat_max_len = @save;