[
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)