andygrove commented on PR #4283:
URL: 
https://github.com/apache/datafusion-comet/pull/4283#issuecomment-4558848133

   Posted #4459 as an alternative implementation for comparison, using only 
arrow-stable FFI surfaces as suggested in the feedback above.
   
   The new PR provides two flavors side-by-side so reviewers can compare:
   1. **C ABI (sedona-style)** — pure C-callable struct of fn pointers, 
parameterized only by the Arrow C Data Interface. No DataFusion types in the 
FFI surface; portable to C/C++. Modeled on @paleolimbot's sedona-db reference.
   2. **datafusion-ffi (`FFI_ScalarUDF`)** — wraps user `ScalarUDFImpl`s as 
`FFI_ScalarUDF`. Inherits the full ScalarUDFImpl surface (variadic, type 
coercion, metadata-aware return types) for free, at the cost of a major-version 
pin against `datafusion-ffi`.
   
   Same JVM API as this PR (`CometRustUDF.register`, registry, JNI bridge, 
`RustUdfCall` proto, `QueryPlanSerde` branch). Scope is intentionally narrower 
— scalar-only, happy-path e2e tests only, no docs — so the diff stays focused 
on the ABI strategy comparison.


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

Reply via email to