timsaucer opened a new pull request, #19223: URL: https://github.com/apache/datafusion/pull/19223
## Which issue does this PR close? Addresses part of https://github.com/apache/datafusion/issues/18671 but does not close it. ## Rationale for this change One of the reasons we are unable to remove `SessionContext` from the FFI crate is that we rely on building a session in the `TableProvider::scan` function. This is because our current implementation uses `FFI_SessionConfig` and passes around a hashmap of String->String values of config options. Then in the other side of the FFI boundary we build a temporary session. This is not ideal because those table provider cannot utilize the actual current session. By implementing a FFI safe version of the `Session` trait we can overcome this limitation. ## What changes are included in this PR? - Implement `FFI_Session` This PR does _not_ use these structures in the current code. That is coming as part of a later PR in an effort to keep the size of the PRs small for effective code review. ## Are these changes tested? Unit tests are added. Coverage report: <img width="531" height="185" alt="Screenshot 2025-12-09 at 8 35 56 AM" src="https://github.com/user-attachments/assets/1b6de980-e048-49cf-a8fe-961d5e902e06" /> ## Are there any user-facing changes? No. -- 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]
