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)