Andrey Mashenkov created IGNITE-21897:
-----------------------------------------
Summary: Sql. Invalid collation passthrough for sorted aggregates.
Key: IGNITE-21897
URL: https://issues.apache.org/jira/browse/IGNITE-21897
Project: Ignite
Issue Type: Bug
Components: sql
Reporter: Andrey Mashenkov
`IgniteSortAggregateBase.passThroughCollation` returns wrong collation in some
cases.
This results in bad plan, e.g. the next query has unexpected Exchanges for
Distribution.SINGLE.
{code:java}
SELECT COUNT(val0), COUNT(DISTINCT(val1)) from test
{code}
The test `MapReduceSortAggregatePlannerTest.countDistinctGroupSetSingle`
returns plan:
{noformat}
Project(EXPR$0=[CAST($0):BIGINT NOT NULL], EXPR$1=[$1])
Project(EXPR$0=[$0], EXPR$1=[CAST($1):BIGINT NOT NULL])
ReduceSortAggregate(group=[{}], EXPR$0=[$SUM0($0)],
COUNT_1_MAP_SUM=[$SUM0($1)], collation=[[]])
MapSortAggregate(group=[{}], EXPR$0=[$SUM0($1)], EXPR$1=[COUNT($0)],
collation=[[]])
Project(VAL1=[$0], EXPR$0=[CAST($1):BIGINT NOT NULL])
ReduceSortAggregate(group=[{0}], COUNT_1_MAP_SUM=[$SUM0($1)],
collation=[[0]])
Exchange(distribution=[single])
MapSortAggregate(group=[{1}], EXPR$0=[COUNT($0)], collation=[[1]])
Sort(sort0=[$1], dir0=[ASC])
Exchange(distribution=[random])
TableScan(table=[[PUBLIC, TEST]], requiredColumns=[{1, 2}])
{noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)