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

Konstantin Orlov reassigned IGNITE-24196:
-----------------------------------------

    Assignee: Konstantin Orlov

> Sql. Merge projection into join node
> ------------------------------------
>
>                 Key: IGNITE-24196
>                 URL: https://issues.apache.org/jira/browse/IGNITE-24196
>             Project: Ignite
>          Issue Type: Improvement
>          Components: sql
>            Reporter: Konstantin Orlov
>            Assignee: Konstantin Orlov
>            Priority: Major
>              Labels: ignite-3
>
> Join reordering adds a projection node on top of the join to restore row 
> schema as it was before reordering. Current implementation treats such plan 
> as separate node, therefore first, rows will be joined together, then 
> resulting rows will be rebuilt in order to restore original schema.
> This can be improved by joining together execution of projection and join 
> nodes.
> The suggested improvement as follow:
> # In {{LogicalRelImplementor}}, if we see {{IgniteProject}} on top of any 
> join node, then put the former on stack and proceed with join
> # In {{LogicalRelImplementor}}, if we see any join node, then first check 
> projection on stack. If present, then create {{SqlJoinProjection}} (similar 
> to {{SqlJoinPredicate}}) from the projection on stack, otherwise create 
> identity projection 
> # In join node, use created {{SqlJoinProjection}} instead of 
> {{RowHandler.RowFactory#concat}}



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

Reply via email to