[
https://issues.apache.org/jira/browse/ARROW-6892?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17202325#comment-17202325
]
Jorge commented on ARROW-6892:
------------------------------
IMO this is still open. It is a cool task, though. A simple test is something
along the lines of:
{code:java}
df = ctx.table("t")?;
df = df.select(vec![col("a")])?;
df = df.select(vec![col("a"), col("b") + 1])?;
let plan = df.to_logical_plan()
// plan must contain a single projection
{code}
> [Rust] [DataFusion] Implement optimizer rule to remove redundant projections
> ----------------------------------------------------------------------------
>
> Key: ARROW-6892
> URL: https://issues.apache.org/jira/browse/ARROW-6892
> Project: Apache Arrow
> Issue Type: New Feature
> Components: Rust, Rust - DataFusion
> Reporter: Andy Grove
> Priority: Minor
>
> Currently we have code in the SQL query planner that wraps aggregate queries
> in a projection (if needed) to preserve the order of the final results. This
> is needed because the aggregate query execution always returns a result with
> grouping expressions first and then aggregate expressions.
> It would be better (simpler, more readable code) to always wrap aggregates in
> projections and have an optimizer rule to remove redundant projections. There
> are likely other use cases where redundant projections might exist too.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)