logan-keede commented on issue #14444: URL: https://github.com/apache/datafusion/issues/14444#issuecomment-2773359489
I think we have got most if not all low hanging fruits with #15459 . I was thinking about how to make progress and here is what I though of so far:- Originally, `get_file_format_factory` method needed to be moved to `Session` to remove downcast to `SessionState` at some places and move them out, but it has become apparent(unless I am missing something) that will not be possible without extreme measures. So, I thought we could make another trait on `datasource` level to handle some of the `SessionState` stuff that inherits from Session. That probably would not have been possible but since rust 1.86.0 rust supports trait_upcasting that means following syntax is now valid. ```rust trait A { ... } trait B: A {...} ... let some_a_object: &dyn A = &some_b_object; // originally &dyn B now upcasted to &dyn A ``` here is PoC for that:- https://github.com/logan-keede/datafusion/compare/move_memtable...logan-keede:datafusion:explore_session I think we can not use this for sometime because of minimum rust compatibility commitments(AFAIK). let me know If this makes sense, or if anybody has some other implementation/approach in mind. -- 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