summaryrefslogtreecommitdiff
path: root/sql/item_sum.cc
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
commit2cf7456e03fc54f5d5c766309f418510a07b14ef (patch)
tree9fe8a97f89a3506ce0915d973e4a5887d90e5ffd /sql/item_sum.cc
parent8a96640e87360f5e588f51fe99e51d8d6d481ae3 (diff)
downloadmariadb-git-2cf7456e03fc54f5d5c766309f418510a07b14ef.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.
Diffstat (limited to 'sql/item_sum.cc')
-rw-r--r--sql/item_sum.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/sql/item_sum.cc b/sql/item_sum.cc
index c36fb8b8d64..8c1e5501a1b 100644
--- a/sql/item_sum.cc
+++ b/sql/item_sum.cc
@@ -3420,7 +3420,7 @@ void Item_func_group_concat::print(String *str, enum_query_type query_type)
{
if (i)
str->append(',');
- (*order[i]->item)->print(str, query_type);
+ pargs[i + arg_count_field]->print(str, query_type);
if (order[i]->asc)
str->append(STRING_WITH_LEN(" ASC"));
else