timsaucer opened a new pull request, #19281: URL: https://github.com/apache/datafusion/pull/19281
## 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 This is the major change to address the requirements of #18671. This PR combines all of the previous PRs in the issue and uses them in `FFI_TableProvider` and `FFI_ExecutionPlan`. With this change the only remaining thing to close the issue is to remove the core crate. That is a large PR that mostly just changes import paths and will be a follow up. ## What changes are included in this PR? - Update all structs in the FFI crate to use the `FFI_PhysicalExpr`, `FFI_Session`, `FFI_TaskContext`, and `FFI_LogicalExtensionCodec`. - Remove creation of `SessionContext` within the FFI crate - Updates unit tests ## Are these changes tested? Unit tests are added. Coverage report: <img width="685" height="804" alt="Screenshot 2025-12-11 at 10 42 21 AM" src="https://github.com/user-attachments/assets/415822ec-909e-4abe-98de-ae32eb5ec9c3" /> ## Are there any user-facing changes? Yes. There is one major change to using the FFI crate that downstream users will need to implement. Now when creating a table provider, catalog provider, etc you need to provide a `TaskContextProvider` and an optional `LogicalExtensionCodec`. - [ ] TODO: Update migration guide to include discussion of **all** changes to this crate for the linked issue. -- 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]
