[ 
https://issues.apache.org/jira/browse/IGNITE-19785?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yury Gerzhedovich updated IGNITE-19785:
---------------------------------------
    Epic Link: IGNITE-19860

> Sql. Rework execution of 2-phase aggregates
> -------------------------------------------
>
>                 Key: IGNITE-19785
>                 URL: https://issues.apache.org/jira/browse/IGNITE-19785
>             Project: Ignite
>          Issue Type: Improvement
>          Components: sql
>            Reporter: Konstantin Orlov
>            Priority: Major
>              Labels: ignite-3
>
> As of now, every aggregate node may be one of three types (see 
> {{org.apache.ignite.internal.sql.engine.exec.exp.agg.AggregateType}}) and has 
> two different behaviour (for example, see 
> {{org.apache.ignite.internal.sql.engine.exec.rel.HashAggregateNode.Grouping#addOn[Mapper|Reducer]}}).
>  Besides, type of the row on map phase can't be represented by a plain tuple 
> since it contains pojo as elements ({{Grouping}} and {{Accumulator}}'s).
> All this creates unnecessary complexity while doesn't bring any benefit.
> Let's rework this part in order to decrease complexity, as well as prepare 
> the ground to migrate sql engine on a new type of row (based on BinaryTuple).
> h4. Implementation notes
> * There should be no difference in behaviour between MAP, REDUCE or COLOCATED 
> aggregate node
> * Thus {{AggregateType}} should be removed
> * {{org.apache.ignite.internal.sql.engine.exec.exp.agg.Accumulator}} now is 
> local entity, thus it should not implement {{Serializable}} anymore



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to