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: [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]