summaryrefslogtreecommitdiff
path: root/mysql-test/t/func_gconcat.test
diff options
context:
space:
mode:
authorRamil Kalimullin <ramil@mysql.com>2010-03-31 17:00:56 +0400
committerRamil Kalimullin <ramil@mysql.com>2010-03-31 17:00:56 +0400
commit55852670ccc6f8173fef7b26b544213ac0829dc0 (patch)
tree9fe8a97f89a3506ce0915d973e4a5887d90e5ffd /mysql-test/t/func_gconcat.test
parent6eca53f1d382a247456d29794c70338f972b77a9 (diff)
downloadmariadb-git-55852670ccc6f8173fef7b26b544213ac0829dc0.tar.gz
Fix for bug#52397: another crash with explain extended and group_concat
Problem: EXPLAIN EXTENDED was trying to resolve references to freed temporary table fields for GROUP_CONCAT()'s ORDER BY arguments. Fix: use stored original GROUP_CONCAT()'s arguments in such a case. mysql-test/r/func_gconcat.result: Fix for bug#52397: another crash with explain extended and group_concat - test result. mysql-test/t/func_gconcat.test: Fix for bug#52397: another crash with explain extended and group_concat - test case. sql/item_sum.cc: Fix for bug#52397: another crash with explain extended and group_concat - use "pargs", printing ORDER BY arguments in the Item_func_group_concat::print() instead of "order" to avoid possible reference resolving to (freed) temporary table fields.
Diffstat (limited to 'mysql-test/t/func_gconcat.test')
-rw-r--r--mysql-test/t/func_gconcat.test12
1 files changed, 12 insertions, 0 deletions
diff --git a/mysql-test/t/func_gconcat.test b/mysql-test/t/func_gconcat.test
index cfb4cdc9ecd..e832ea316eb 100644
--- a/mysql-test/t/func_gconcat.test
+++ b/mysql-test/t/func_gconcat.test
@@ -708,4 +708,16 @@ SELECT 1 FROM
DROP TABLE t1;
+
+--echo #
+--echo # Bug #52397: another crash with explain extended and group_concat
+--echo #
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (0), (0);
+EXPLAIN EXTENDED SELECT 1 FROM
+ (SELECT GROUP_CONCAT(t1.a ORDER BY t1.a ASC) FROM
+ t1 t2, t1 GROUP BY t1.a) AS d;
+DROP TABLE t1;
+
+
--echo End of 5.0 tests