alamb commented on issue #13838:
URL: https://github.com/apache/datafusion/issues/13838#issuecomment-2553486646
> TableProvider's scan()'s the same Exec for the all file formats
I think this would be a pretty major breaking change for all downstream
consumers.
> we have frequently encountered scenarios where it seems more appropriate
to have a single exec for sources, similar to the approach used for sinks. This
idea has been coming up a lot recently.
Is it easy to explain some of these scenarios?
Rather than trying to use the same ExecutionPlan for all TableProviders,
another thing to do might be to extend the `ExecutionPlan` trait with the
common functionality.
For example instead of having to do something like
```rust
if let Some(parquet_exec) = plan.as_any().downcast_ref::<Parquetexec>() {
parquet_specific_function(parquet_exec)
}
```
The other thing we could do is
```rust
trait ExecutionPlan {
// do specific thing
fn specific_function(&self) {}
}
```
And then the pass / analysis would be able to use do
```rust
plan.specific_function()
```
I may be jumping to conclusions however and misguess what you are trying to
do
--
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.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]