You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by GitBox <gi...@apache.org> on 2021/04/26 13:17:51 UTC

[GitHub] [arrow-datafusion] alamb opened a new issue #86: [Rust] Implement optimizer rule to remove redundant projections

alamb opened a new issue #86:
URL: https://github.com/apache/arrow-datafusion/issues/86


   *Note*: migrated from original JIRA: https://issues.apache.org/jira/browse/ARROW-6892
   
   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 is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow-datafusion] alamb commented on issue #86: [Rust] Implement optimizer rule to remove redundant projections

Posted by GitBox <gi...@apache.org>.
alamb commented on issue #86:
URL: https://github.com/apache/arrow-datafusion/issues/86#issuecomment-826827985


   Comment from Neville Dipale(nevi_me) @ 2020-09-25T17:29:08.891+0000:
   <pre>[~andygrove]  [~jorgecarleitao] [~alamb]  do you know if this is resolved? There's been a lot of improvements to the optimizer, so checking if they perhaps included this.</pre>
   
   Comment from Jorge Leitão(jorgecarleitao) @ 2020-09-25T17:35:05.272+0000:
   <pre>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}</pre>
   
   Comment from Andrew Lamb(alamb) @ 2021-04-26T11:24:39.528+0000:
   <pre>Migrated to github: https://github.com/apache/arrow-rs/issues/56</pre>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org