summaryrefslogtreecommitdiff
path: root/sql/item_sum.cc
diff options
context:
space:
mode:
authorunknown <sergefp@mysql.com>2004-09-08 22:43:37 +0400
committerunknown <sergefp@mysql.com>2004-09-08 22:43:37 +0400
commit4233d901f4d6a5b29f2ee944f96c6d3734531c81 (patch)
tree194bf8f56014bed101be7ac1d5ebc6c3770cf9cb /sql/item_sum.cc
parent3f70b62cebfbaa0e93ea5f378167d9d3e7b02a91 (diff)
downloadmariadb-git-4233d901f4d6a5b29f2ee944f96c6d3734531c81.tar.gz
Fix for bug#5400 "GROUP_CONCAT returns everything twice":
Don't evaluate the value of GROUP_CONCAT several times for the same 'group', reuse the value instead. mysql-test/r/group_by.result: Testcase for bug#5400 mysql-test/t/group_by.test: Testcase for bug#5400
Diffstat (limited to 'sql/item_sum.cc')
-rw-r--r--sql/item_sum.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/sql/item_sum.cc b/sql/item_sum.cc
index 79c1be57625..290e10bd59a 100644
--- a/sql/item_sum.cc
+++ b/sql/item_sum.cc
@@ -2121,6 +2121,8 @@ String* Item_func_group_concat::val_str(String* str)
DBUG_ASSERT(fixed == 1);
if (null_value)
return 0;
+ if (result.length())
+ return &result;
if (tree_mode)
{
tree_walk(tree, (tree_walk_action)&dump_leaf_key, (void*)this,