[ https://issues.apache.org/jira/browse/ARROW-9832?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andy Grove resolved ARROW-9832. ------------------------------- Resolution: Fixed This was implemented already but the PR was linked against the wrong JIRA > [Rust] [DataFusion] Refactor PhysicalPlan to remove Partition > ------------------------------------------------------------- > > Key: ARROW-9832 > URL: https://issues.apache.org/jira/browse/ARROW-9832 > Project: Apache Arrow > Issue Type: Improvement > Components: Rust, Rust - DataFusion > Reporter: Andy Grove > Assignee: Andy Grove > Priority: Major > Fix For: 2.0.0 > > > As a step towards supporting an improved threading model, I would like to > refactor to remove the redundant `Partition` trait. The implementations of > these partition traits really just duplicate the state of their operator and > just add the partition number. It would be better to just pass the partition > number to the execute() method in the PhysicalPlan trait. > This means it will also be necessary for each ExecutionPlan to state its > output partitioning (and this is needed for other reasons when we get into > the physical optimizer). > Proposed trait: > > {code:java} > /// Partition-aware execution plan for a relation > pub trait ExecutionPlan: Debug { > /// Get the schema for this execution plan > fn schema(&self) -> SchemaRef; > /// Specifies the output partitioning of this execution plan > fn output_partitioning(&self) -> Partitioning; > /// Execute this plan for a single partition and return a stream of > results > fn execute(&self, partition: usize) -> Result<Arc<Mutex<dyn > RecordBatchReader + Send + Sync>>>; > } > /// Partitioning schemes supported by operators. > #[derive(Debug, Clone)] > pub enum Partitioning { > UnknownPartitioning(usize), > } > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)