Commit 4297dcaa authored by Davi Arnaut's avatar Davi Arnaut

Backport of Bug#36785 to mysql-next-mr

------------------------------------------------------------
revno: 2630.2.13
revision-id: davi@mysql.com-20080612190452-cx6h7rm557bcq7sa
parent: davi@mysql.com-20080611124915-csejwrxfdga9upho
committer: Davi Arnaut <davi@mysql.com>
branch nick: 36785-6.0
timestamp: Thu 2008-06-12 16:04:52 -0300
message:
  Bug#36785: Wrong error message when group_concat() exceeds max length

  The problem is that when ER_CUT_VALUE_GROUP_CONCAT is elevated
  to a error, the message does not get updated with the number of
  cut lines when group_concat() exceeds max length.

  The solution is to modify the warning message to be more meaningful
  by giving the number of the line that was cut and to issue the warning
  for each line that is cut. This approach is inline with how other
  per-row truncated data warnings are issued avoids violating the warning
  internal interface.

mysql-test/suite/sys_vars/r/group_concat_max_len_func.result:
  Update result to reflect the new warning message
sql/share/errmsg.txt:
  Update warning message ER_CUT_VALUE_GROUP_CONCAT.
parent c34c6665
...@@ -41,7 +41,10 @@ id rollno GROUP_CONCAT(name) ...@@ -41,7 +41,10 @@ id rollno GROUP_CONCAT(name)
4 3 Reco 4 3 Reco
7 4 Reco 7 4 Reco
Warnings: Warnings:
Warning 1260 4 line(s) were cut by GROUP_CONCAT() Warning 1260 Row 1 was cut by GROUP_CONCAT()
Warning 1260 Row 2 was cut by GROUP_CONCAT()
Warning 1260 Row 3 was cut by GROUP_CONCAT()
Warning 1260 Row 4 was cut by GROUP_CONCAT()
## Changing session value of variable and verifying its behavior, ## ## Changing session value of variable and verifying its behavior, ##
## warning should come here ## ## warning should come here ##
SET @@session.group_concat_max_len = 10; SET @@session.group_concat_max_len = 10;
...@@ -52,7 +55,9 @@ id rollno GROUP_CONCAT(name) ...@@ -52,7 +55,9 @@ id rollno GROUP_CONCAT(name)
4 3 Record_4,R 4 3 Record_4,R
7 4 Record_7,R 7 4 Record_7,R
Warnings: Warnings:
Warning 1260 3 line(s) were cut by GROUP_CONCAT() Warning 1260 Row 2 was cut by GROUP_CONCAT()
Warning 1260 Row 5 was cut by GROUP_CONCAT()
Warning 1260 Row 7 was cut by GROUP_CONCAT()
'#--------------------FN_DYNVARS_034_03-------------------------#' '#--------------------FN_DYNVARS_034_03-------------------------#'
## Connecting with new connection test_con2 ## ## Connecting with new connection test_con2 ##
## Verifying initial value of variable. It should be 4 ## ## Verifying initial value of variable. It should be 4 ##
...@@ -71,7 +76,7 @@ id rollno GROUP_CONCAT(name) ...@@ -71,7 +76,7 @@ id rollno GROUP_CONCAT(name)
4 3 Record_4,Record_6 4 3 Record_4,Record_6
7 4 Record_7,Record_8 7 4 Record_7,Record_8
Warnings: Warnings:
Warning 1260 1 line(s) were cut by GROUP_CONCAT() Warning 1260 Row 3 was cut by GROUP_CONCAT()
'#--------------------FN_DYNVARS_034_04-------------------------#' '#--------------------FN_DYNVARS_034_04-------------------------#'
## Setting session value of variable to 26. No warning should appear here ## ## Setting session value of variable to 26. No warning should appear here ##
## because the value after concatination is less than 30 ## ## because the value after concatination is less than 30 ##
......
...@@ -4880,6 +4880,7 @@ ER_ZLIB_Z_DATA_ERROR ...@@ -4880,6 +4880,7 @@ ER_ZLIB_Z_DATA_ERROR
spa "ZLIB: Dato de entrada fu corrompido para zlib" spa "ZLIB: Dato de entrada fu corrompido para zlib"
ER_CUT_VALUE_GROUP_CONCAT ER_CUT_VALUE_GROUP_CONCAT
eng "Row %u was cut by GROUP_CONCAT()" eng "Row %u was cut by GROUP_CONCAT()"
por "Linha %u foi cortada por GROUP_CONCAT()"
ER_WARN_TOO_FEW_RECORDS 01000 ER_WARN_TOO_FEW_RECORDS 01000
eng "Row %ld doesn't contain data for all columns" eng "Row %ld doesn't contain data for all columns"
ger "Zeile %ld enthlt nicht fr alle Felder Daten" ger "Zeile %ld enthlt nicht fr alle Felder Daten"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment