Loading mysql-test/r/func_gconcat.result +5 −0 Original line number Diff line number Diff line Loading @@ -457,3 +457,8 @@ group_concat(distinct b order by b) Warnings: Warning 1260 2 line(s) were cut by GROUP_CONCAT() drop table t1; CREATE TABLE t1 (id int); SELECT GROUP_CONCAT(id) AS gc FROM t1 HAVING gc IS NULL; gc NULL DROP TABLE t1; mysql-test/t/func_gconcat.test +7 −0 Original line number Diff line number Diff line Loading @@ -277,3 +277,10 @@ select group_concat(b order by b) from t1 group by a; select group_concat(distinct b order by b) from t1 group by a; drop table t1; # # bug #7769: group_concat returning null is checked in having # CREATE TABLE t1 (id int); SELECT GROUP_CONCAT(id) AS gc FROM t1 HAVING gc IS NULL; DROP TABLE t1; sql/item_sum.h +3 −2 Original line number Diff line number Diff line Loading @@ -739,9 +739,10 @@ class Item_func_group_concat : public Item_sum String *res; char *end_ptr; int error; res= val_str(&str_value); if (!(res= val_str(&str_value))) return (longlong) 0; end_ptr= (char*) res->ptr()+ res->length(); return res ? my_strtoll10(res->ptr(), &end_ptr, &error) : (longlong) 0; return my_strtoll10(res->ptr(), &end_ptr, &error); } String* val_str(String* str); Item *copy_or_same(THD* thd); Loading Loading
mysql-test/r/func_gconcat.result +5 −0 Original line number Diff line number Diff line Loading @@ -457,3 +457,8 @@ group_concat(distinct b order by b) Warnings: Warning 1260 2 line(s) were cut by GROUP_CONCAT() drop table t1; CREATE TABLE t1 (id int); SELECT GROUP_CONCAT(id) AS gc FROM t1 HAVING gc IS NULL; gc NULL DROP TABLE t1;
mysql-test/t/func_gconcat.test +7 −0 Original line number Diff line number Diff line Loading @@ -277,3 +277,10 @@ select group_concat(b order by b) from t1 group by a; select group_concat(distinct b order by b) from t1 group by a; drop table t1; # # bug #7769: group_concat returning null is checked in having # CREATE TABLE t1 (id int); SELECT GROUP_CONCAT(id) AS gc FROM t1 HAVING gc IS NULL; DROP TABLE t1;
sql/item_sum.h +3 −2 Original line number Diff line number Diff line Loading @@ -739,9 +739,10 @@ class Item_func_group_concat : public Item_sum String *res; char *end_ptr; int error; res= val_str(&str_value); if (!(res= val_str(&str_value))) return (longlong) 0; end_ptr= (char*) res->ptr()+ res->length(); return res ? my_strtoll10(res->ptr(), &end_ptr, &error) : (longlong) 0; return my_strtoll10(res->ptr(), &end_ptr, &error); } String* val_str(String* str); Item *copy_or_same(THD* thd); Loading