You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Andrey Mashenkov (Jira)" <ji...@apache.org> on 2023/08/18 10:44:00 UTC

[jira] [Assigned] (IGNITE-20246) Sql. Decouple distribution trait and function.

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

Andrey Mashenkov reassigned IGNITE-20246:
-----------------------------------------

    Assignee: Andrey Mashenkov

> Sql. Decouple distribution trait and function.
> ----------------------------------------------
>
>                 Key: IGNITE-20246
>                 URL: https://issues.apache.org/jira/browse/IGNITE-20246
>             Project: Ignite
>          Issue Type: Improvement
>          Components: sql
>            Reporter: Andrey Mashenkov
>            Assignee: Andrey Mashenkov
>            Priority: Major
>              Labels: ignite-3, tech-debt
>             Fix For: 3.0.0-beta2
>
>
> *Motivation*
> As for now, we have IgniteDistribution trait with DistributionFunction inside.
> In fact, this "function" is a factory for factory for functions, but should be just a logical node.
> `IgniteDistribution.destination()` method accepts hash-function factory regardless if the function hash-based or not.  LogicalRelImplementor could convert this logical node into a physcal node, which can calculates destinations, and make hash function part of this physcal node.
> *Suggestion*
> 1. Move `gniteDistribution.destination()` method  to some another class, which will be a "destination factory" and e.g. put it into a table instead of `distribution`.
> 2. Replace HashFunctionFactory with RowHandler in `destination()` method signature.



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