Konstantin Orlov created IGNITE-24196:
-----------------------------------------
Summary: 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
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)