diff options
author | unknown <sergefp@mysql.com> | 2004-09-08 22:43:37 +0400 |
---|---|---|
committer | unknown <sergefp@mysql.com> | 2004-09-08 22:43:37 +0400 |
commit | 4233d901f4d6a5b29f2ee944f96c6d3734531c81 (patch) | |
tree | 194bf8f56014bed101be7ac1d5ebc6c3770cf9cb /sql/item_sum.cc | |
parent | 3f70b62cebfbaa0e93ea5f378167d9d3e7b02a91 (diff) | |
download | mariadb-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.cc | 2 |
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, |