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: github-unsubscr...@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org
For additional commands, e-mail: github-h...@datafusion.apache.org

Reply via email to