cisaacson commented on issue #11193:
URL: https://github.com/apache/datafusion/issues/11193#issuecomment-2227511541
@alamb I had some time and tried a very simple workaround, it would be up to
you and the team if it is useful.
I added a single arg to: `TableProvider.supports_filters_pushdown`:
```rust
fn supports_filters_pushdown(
&self,
task_id: &Option<String>,
filters: &[&Expr],
) -> Result<Vec<TableProviderFilterPushDown>> {
Ok(vec![
TableProviderFilterPushDown::Unsupported;
filters.len()
])
}
```
This only touched 7 files, and given the `task_id` I can access the state I
have set up. This was far simpler than adding `SessionState`, for my use case
that wasn't necessary. So while this is different than other places, it does
not add more dependencies on the current `SessionState`, which I think is a
good thing. Note that this could have been `TaskContext` but even that is more
than I need, the `task_id` alone does the trick.
For now I'm going to use it in my own fork, but I could very quickly make a
PR for this, probably took less than 15 minutes. I just don't know if it is
useful to others, maybe we can ask in slack.
--
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]