Details
-
Bug
-
Status: Closed (View Workflow)
-
Minor
-
Resolution: Fixed
-
1.0.15, 1.1.6, 1.2.2
-
None
-
2019-06
Description
If the group_concat contains distinct together with sorting over non-distinct column CS concatenates distinct values multiple times.
Here is the setting:
create table cs1 (i bigint, a bigint) engine=columnstore;
|
insert into cs1 values (1,2),(1,3),(2,5),(1,42);
|
MariaDB [tpch1]> select group_concat(distinct i order by a) s from cs1; |
+---------+ |
| s |
|
+---------+ |
| 1,1,2,1 |
|
+---------+ |
1 row in set (0.031 sec) |
IdbOrderBy::Hasher::operator() and IdbOrderBy::Eq::operator() both don't exempt non-distinct columns from calculation when they call Row::hash() and Row:eq() respectively. Hasher and Eq operators must sent down the stack the column count equals with distinct columns count.
LimitedOrderBy is protected by an error message group_concat doesn't have such barrier. We should remove the error message for LimitedOrderBy when resolve the issue and get extra feature - distinct sorting by non-projected columns.