[ 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)