mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
check of item name presence in find_item_in_list (Bug #3752)
This commit is contained in:
@ -301,3 +301,12 @@ a c grp
|
||||
2 4 4
|
||||
1 2 5
|
||||
drop table t1,t2;
|
||||
CREATE TABLE t1 ( a int );
|
||||
CREATE TABLE t2 ( a int );
|
||||
INSERT INTO t1 VALUES (1), (2);
|
||||
INSERT INTO t2 VALUES (1), (2);
|
||||
SELECT GROUP_CONCAT(t1.a*t2.a ORDER BY t1.a) FROM t1, t2 GROUP BY t1.a;
|
||||
GROUP_CONCAT(t1.a*t2.a ORDER BY t1.a)
|
||||
2,1
|
||||
4,2
|
||||
DROP TABLE t1, t2;
|
||||
|
@ -179,3 +179,13 @@ select group_concat(c order by (select mid(group_concat(c order by a),1,5) from
|
||||
|
||||
select a,c,(select group_concat(c order by a) from t2 where a=t1.a) as grp from t1 order by grp;
|
||||
drop table t1,t2;
|
||||
|
||||
#
|
||||
# group_concat of expression with GROUP BY and external GROUP BY
|
||||
#
|
||||
CREATE TABLE t1 ( a int );
|
||||
CREATE TABLE t2 ( a int );
|
||||
INSERT INTO t1 VALUES (1), (2);
|
||||
INSERT INTO t2 VALUES (1), (2);
|
||||
SELECT GROUP_CONCAT(t1.a*t2.a ORDER BY t1.a) FROM t1, t2 GROUP BY t1.a;
|
||||
DROP TABLE t1, t2;
|
||||
|
@ -2096,7 +2096,14 @@ find_item_in_list(Item *find, List<Item> &items, uint *counter,
|
||||
if (field_name && item->type() == Item::FIELD_ITEM)
|
||||
{
|
||||
Item_field *item_field= (Item_field*) item;
|
||||
if (!my_strcasecmp(system_charset_info, item_field->name, field_name))
|
||||
/*
|
||||
In case of group_concat() with ORDER BY condition in the QUERY
|
||||
item_field can be field of temporary table without item name
|
||||
(if this field created from expression argument of group_concat()),
|
||||
=> we have to check presence of name before compare
|
||||
*/
|
||||
if (item_field->name &&
|
||||
!my_strcasecmp(system_charset_info, item_field->name, field_name))
|
||||
{
|
||||
if (!table_name)
|
||||
{
|
||||
|
Reference in New Issue
Block a user