Enable udf hashing across FFI boundary
- Dominant language
- Rust
- Stars
- 9.3k
- Forks
- 2.4k
- Avg merge
- 3d 7h
- Merged PRs (30d)
- 344
Description
### Is your feature request related to a problem or challenge?
This is a follow on to https://github.com/apache/datafusion/pull/17067
Right now the comparison for UDFs to see if they are equal is relying on checking pointers instead of using the hash function. For UDF, UDAF, and UDWF we should add a hash function to the FFI interface and call across it.
### Describe the solution you'd like
Add `hash()` to FFI definitions for UDF, UDAF, UDWF.
Use this hash call to check for equality.
Add user tests to validate.
### Describe alternatives you've considered
None
### Additional context
_No response_
Contributor guide
Research direction
Start by reviewing the FFI definitions for UDF, UDAF, and UDWF and the follow-on PR #17067. Trace the existing pointer-based equality checks, then add user-test coverage for hash-based equality across the FFI boundary. Done means all three interfaces expose and use the hash call for equality.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100