[ 
https://issues.apache.org/jira/browse/ARROW-9481?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andy Grove closed ARROW-9481.
-----------------------------
    Resolution: Won't Fix

We are going to explore a pure trait-based approach rather than introducing an 
enum, because enums cannot be extended by users of this crate.

> [Rust] [DataFusion] Create physical plan enum to wrap execution plan
> --------------------------------------------------------------------
>
>                 Key: ARROW-9481
>                 URL: https://issues.apache.org/jira/browse/ARROW-9481
>             Project: Apache Arrow
>          Issue Type: Sub-task
>          Components: Rust, Rust - DataFusion
>            Reporter: Andy Grove
>            Assignee: Andy Grove
>            Priority: Major
>
> By wrapping the execution plan structs in an enum, we make it possible to 
> build a tree representing the physical plan just like we do with the logical 
> plan. This makes it easy to print physical plans and also to apply 
> transformations to it.
> {code:java}
>  pub enum PhysicalPlan {
>     /// Projection.
>     Projection(Arc<ProjectionExec>),
>     /// Filter a.k.a predicate.
>     Filter(Arc<FilterExec>),
>     /// Hash aggregate
>     HashAggregate(Arc<HashAggregateExec>),
>     /// Performs a hash join of two child relations by first shuffling the 
> data using the join keys.
>     ShuffledHashJoin(ShuffledHashJoinExec),
>     /// Performs a shuffle that will result in the desired partitioning.
>     ShuffleExchange(Arc<ShuffleExchangeExec>),
>     /// Reads results from a ShuffleExchange
>     ShuffleReader(Arc<ShuffleReaderExec>),
>     /// Scans a partitioned data source
>     ParquetScan(Arc<ParquetScanExec>),
>     /// Scans an in-memory table
>     InMemoryTableScan(Arc<InMemoryTableScanExec>),
> }{code}
> h3.  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to