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

Andrey Mashenkov updated IGNITE-19785:
--------------------------------------
    Fix Version/s: 3.0.0-beta2

> 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
>            Assignee: Maksim Zhuravkov
>            Priority: Major
>              Labels: ignite-3
>             Fix For: 3.0.0-beta2
>
>          Time Spent: 7.5h
>  Remaining Estimate: 0h
>
> 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