sandugood opened a new pull request, #22659: URL: https://github.com/apache/datafusion/pull/22659
## Which issue does this PR close? - Closes #22336 . ## Rationale for this change Before this change there was no reasonable `memoize` for the `ForeignPartitionEvaluator` ## What changes are included in this PR? 1. Added `memoize` function pointer to `FFI_PartitionEvaluator` struct and implemented the FFI wrapper `memoize_fn_wrapper` that serializes/deserializes `WindowAggState` across the boundary 2. Implemented `PartitionEvaluator::memoize` for `ForeignPartitionEvaluator`, preserving `window_frame_ctx` (which cannot cross FFI) across the call ## Are these changes tested? Yes, tested both state preservation with `test_memoize_state_preservation` and `window_frame_ctx` preservation with `test_memoize_preserves_window_frame_ctx`. All of the other tests in the crate also pass ## Are there any user-facing changes? Yes, but only behavioral — no API changes. -- 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]
