#At file:///work2/5.1/mysql-5.1-bugteam-combined/
2714 Matthias Leich 2008-11-25 [merge]
Merge of fix for bug 40644 into GCA tree
modified:
mysql-test/r/group_concat_max_len_func.result
mysql-test/t/group_concat_max_len_func.test
=== modified file 'mysql-test/r/group_concat_max_len_func.result'
--- a/mysql-test/r/group_concat_max_len_func.result 2008-04-30 23:39:51 +0000
+++ b/mysql-test/r/group_concat_max_len_func.result 2008-11-14 18:20:16 +0000
@@ -1,31 +1,41 @@
SET @save = @@global.group_concat_max_len;
-drop table if exists t1;
+DROP TABLE IF EXISTS t1;
## Creating new table t1 ##
CREATE TABLE t1
(
-id INT NOT NULL auto_increment,
+id INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY (id),
-rollno int NOT NULL,
+rollno INT NOT NULL,
name VARCHAR(30)
);
'#--------------------FN_DYNVARS_034_01-------------------------#'
-## Setting initial value of variable to 4 ##
+## Setting initial value of variable to 4 ##
SET @@global.group_concat_max_len = 4;
-## Inserting some rows in table ##
-INSERT into t1(rollno, name) values(1, 'Record_1');
-INSERT into t1(rollno, name) values(2, 'Record_2');
-INSERT into t1(rollno, name) values(1, 'Record_3');
-INSERT into t1(rollno, name) values(3, 'Record_4');
-INSERT into t1(rollno, name) values(1, 'Record_5');
-INSERT into t1(rollno, name) values(3, 'Record_6');
-INSERT into t1(rollno, name) values(4, 'Record_7');
-INSERT into t1(rollno, name) values(4, 'Record_8');
-## Creating two new connections ##
+## Inserting some rows in table ##
+INSERT INTO t1(rollno, name) VALUES(1, 'Record_1');
+INSERT INTO t1(rollno, name) VALUES(2, 'Record_2');
+INSERT INTO t1(rollno, name) VALUES(1, 'Record_3');
+INSERT INTO t1(rollno, name) VALUES(3, 'Record_4');
+INSERT INTO t1(rollno, name) VALUES(1, 'Record_5');
+INSERT INTO t1(rollno, name) VALUES(3, 'Record_6');
+INSERT INTO t1(rollno, name) VALUES(4, 'Record_7');
+INSERT INTO t1(rollno, name) VALUES(4, 'Record_8');
+SELECT * FROM t1 ORDER BY id;
+id rollno name
+1 1 Record_1
+2 2 Record_2
+3 1 Record_3
+4 3 Record_4
+5 1 Record_5
+6 3 Record_6
+7 4 Record_7
+8 4 Record_8
+## Creating two new connections ##
'#--------------------FN_DYNVARS_034_02-------------------------#'
## Connecting with test_con1 ##
-## Accessing data and using group_concat on column whose value is greater than 4 ##
-SELECT id, rollno, group_concat(name) FROM t1 GROUP BY rollno;
-id rollno group_concat(name)
+## Accessing data and using group_concat on column whose value is greater than 4 ##
+SELECT id, rollno, GROUP_CONCAT(name) FROM t1 GROUP BY rollno;
+id rollno GROUP_CONCAT(name)
1 1 Reco
2 2 Reco
4 3 Reco
@@ -33,10 +43,10 @@ id rollno group_concat(name)
Warnings:
Warning 1260 4 line(s) were cut by GROUP_CONCAT()
## Changing session value of variable and verifying its behavior, ##
-## warning should come here ##
+## warning should come here ##
SET @@session.group_concat_max_len = 10;
-SELECT id, rollno, group_concat(name) FROM t1 GROUP BY rollno;
-id rollno group_concat(name)
+SELECT id, rollno, GROUP_CONCAT(name) FROM t1 GROUP BY rollno;
+id rollno GROUP_CONCAT(name)
1 1 Record_1,R
2 2 Record_2
4 3 Record_4,R
@@ -44,18 +54,18 @@ id rollno group_concat(name)
Warnings:
Warning 1260 3 line(s) were cut by GROUP_CONCAT()
'#--------------------FN_DYNVARS_034_03-------------------------#'
-## Connecting with new connection test_con2 ##
-## Verifying initial value of variable. It should be 4 ##
+## Connecting with new connection test_con2 ##
+## Verifying initial value of variable. It should be 4 ##
SELECT @@session.group_concat_max_len = 4;
@@session.group_concat_max_len = 4
1
-## Setting session value of variable to 20 and verifying variable is concating ##
-## column's value to 20 or not ##
+## Setting session value of variable to 20 and verifying variable is concating ##
+## column's value to 20 or not ##
SET @@session.group_concat_max_len = 20;
## Verifying value of name column, it should not me more than 20 characters ##
## Warning should come here ##
-SELECT id, rollno, group_concat(name) FROM t1 GROUP BY rollno;
-id rollno group_concat(name)
+SELECT id, rollno, GROUP_CONCAT(name) FROM t1 GROUP BY rollno;
+id rollno GROUP_CONCAT(name)
1 1 Record_1,Record_3,Re
2 2 Record_2
4 3 Record_4,Record_6
@@ -63,17 +73,17 @@ id rollno group_concat(name)
Warnings:
Warning 1260 1 line(s) were cut by GROUP_CONCAT()
'#--------------------FN_DYNVARS_034_04-------------------------#'
-## Setting session value of variable to 26. No warning should appear here ##
-## because the value after concatination is less than 30 ##
+## Setting session value of variable to 26. No warning should appear here ##
+## because the value after concatination is less than 30 ##
SET @@session.group_concat_max_len = 26;
-## Verifying value of name column, it should not give warning now ##
-SELECT id, rollno, group_concat(name) FROM t1 GROUP BY rollno;
-id rollno group_concat(name)
+## Verifying value of name column, it should not give warning now ##
+SELECT id, rollno, GROUP_CONCAT(name) FROM t1 GROUP BY rollno;
+id rollno GROUP_CONCAT(name)
1 1 Record_1,Record_3,Record_5
2 2 Record_2
4 3 Record_4,Record_6
7 4 Record_7,Record_8
## Dropping table t1 ##
-DROP table t1;
+DROP TABLE t1;
## Disconnecting both the connection ##
SET @@global.group_concat_max_len = @save;
=== modified file 'mysql-test/t/group_concat_max_len_func.test'
--- a/mysql-test/t/group_concat_max_len_func.test 2008-04-30 23:39:51 +0000
+++ b/mysql-test/t/group_concat_max_len_func.test 2008-11-14 18:20:16 +0000
@@ -11,18 +11,23 @@
# Creation Date: 2008-03-07 #
# Author: Salman Rawala #
# #
+# Last modification: #
+# 2008-11-14 mleich Fix Bug#40644 main.group_concat_max_len_func random #
+# failures #
+# + minor improvements #
+# #
# Description: Test Cases of Dynamic System Variable group_concat_max_len #
# that checks the functionality of this variable #
# #
-# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
-# server-system-variables.html #
+# Reference: #
+# http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html #
# #
###############################################################################
SET @save = @@global.group_concat_max_len;
--disable_warnings
-drop table if exists t1;
+DROP TABLE IF EXISTS t1;
--enable_warnings
#########################
@@ -32,34 +37,38 @@ drop table if exists t1;
--echo ## Creating new table t1 ##
CREATE TABLE t1
(
-id INT NOT NULL auto_increment,
+id INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY (id),
-rollno int NOT NULL,
+rollno INT NOT NULL,
name VARCHAR(30)
);
--echo '#--------------------FN_DYNVARS_034_01-------------------------#'
########################################################################
# Setting initial value of group_concat_max_len, inserting some rows
-# & creating 2 new connections
+# & creating 2 new connections
########################################################################
---echo ## Setting initial value of variable to 4 ##
+--echo ## Setting initial value of variable to 4 ##
SET @@global.group_concat_max_len = 4;
---echo ## Inserting some rows in table ##
-INSERT into t1(rollno, name) values(1, 'Record_1');
-INSERT into t1(rollno, name) values(2, 'Record_2');
-INSERT into t1(rollno, name) values(1, 'Record_3');
-INSERT into t1(rollno, name) values(3, 'Record_4');
-INSERT into t1(rollno, name) values(1, 'Record_5');
-INSERT into t1(rollno, name) values(3, 'Record_6');
-INSERT into t1(rollno, name) values(4, 'Record_7');
-INSERT into t1(rollno, name) values(4, 'Record_8');
-
---echo ## Creating two new connections ##
-CONNECT (test_con1,localhost,root,,);
-CONNECT (test_con2,localhost,root,,);
+--echo ## Inserting some rows in table ##
+INSERT INTO t1(rollno, name) VALUES(1, 'Record_1');
+INSERT INTO t1(rollno, name) VALUES(2, 'Record_2');
+INSERT INTO t1(rollno, name) VALUES(1, 'Record_3');
+INSERT INTO t1(rollno, name) VALUES(3, 'Record_4');
+INSERT INTO t1(rollno, name) VALUES(1, 'Record_5');
+INSERT INTO t1(rollno, name) VALUES(3, 'Record_6');
+INSERT INTO t1(rollno, name) VALUES(4, 'Record_7');
+INSERT INTO t1(rollno, name) VALUES(4, 'Record_8');
+# The following "auxiliary" select ensures that all records are on disk
+# = result sets got by parallel sessions cannot suffer from effects
+# caused by the MyISAM feature "concurrent_inserts".
+SELECT * FROM t1 ORDER BY id;
+
+--echo ## Creating two new connections ##
+connect (test_con1,localhost,root,,);
+connect (test_con2,localhost,root,,);
--echo '#--------------------FN_DYNVARS_034_02-------------------------#'
@@ -68,16 +77,16 @@ CONNECT (test_con2,localhost,root,,);
###############################################################################
--echo ## Connecting with test_con1 ##
-CONNECTION test_con1;
+connection test_con1;
---echo ## Accessing data and using group_concat on column whose value is greater than 4
##
-SELECT id, rollno, group_concat(name) FROM t1 GROUP BY rollno;
+--echo ## Accessing data and using group_concat on column whose value is greater than 4
##
+SELECT id, rollno, GROUP_CONCAT(name) FROM t1 GROUP BY rollno;
--echo ## Changing session value of variable and verifying its behavior, ##
---echo ## warning should come here ##
+--echo ## warning should come here ##
SET @@session.group_concat_max_len = 10;
-SELECT id, rollno, group_concat(name) FROM t1 GROUP BY rollno;
+SELECT id, rollno, GROUP_CONCAT(name) FROM t1 GROUP BY rollno;
--echo '#--------------------FN_DYNVARS_034_03-------------------------#'
@@ -85,19 +94,19 @@ SELECT id, rollno, group_concat(name) FR
# Verifying behavior of variable by increasing session value of variable #
##############################################################################
---echo ## Connecting with new connection test_con2 ##
+--echo ## Connecting with new connection test_con2 ##
connection test_con2;
---echo ## Verifying initial value of variable. It should be 4 ##
+--echo ## Verifying initial value of variable. It should be 4 ##
SELECT @@session.group_concat_max_len = 4;
---echo ## Setting session value of variable to 20 and verifying variable is concating ##
---echo ## column's value to 20 or not ##
+--echo ## Setting session value of variable to 20 and verifying variable is concating ##
+--echo ## column's value to 20 or not ##
SET @@session.group_concat_max_len = 20;
--echo ## Verifying value of name column, it should not me more than 20 characters ##
--echo ## Warning should come here ##
-SELECT id, rollno, group_concat(name) FROM t1 GROUP BY rollno;
+SELECT id, rollno, GROUP_CONCAT(name) FROM t1 GROUP BY rollno;
--echo '#--------------------FN_DYNVARS_034_04-------------------------#'
@@ -106,12 +115,12 @@ SELECT id, rollno, group_concat(name) FR
# greater than the maximum concat length of name column #
###############################################################################
---echo ## Setting session value of variable to 26. No warning should appear here ##
---echo ## because the value after concatination is less than 30 ##
+--echo ## Setting session value of variable to 26. No warning should appear here ##
+--echo ## because the value after concatination is less than 30 ##
SET @@session.group_concat_max_len = 26;
---echo ## Verifying value of name column, it should not give warning now ##
-SELECT id, rollno, group_concat(name) FROM t1 GROUP BY rollno;
+--echo ## Verifying value of name column, it should not give warning now ##
+SELECT id, rollno, GROUP_CONCAT(name) FROM t1 GROUP BY rollno;
############################################################
@@ -119,11 +128,11 @@ SELECT id, rollno, group_concat(name) FR
############################################################
--echo ## Dropping table t1 ##
-DROP table t1;
+DROP TABLE t1;
--echo ## Disconnecting both the connection ##
-DISCONNECT test_con2;
-DISCONNECT test_con1;
+disconnect test_con2;
+disconnect test_con1;
connection default;
| Thread |
|---|
| • bzr commit into mysql-5.1 branch (Matthias.Leich:2714) | Matthias Leich | 25 Nov |