apache / apache/datafusion

Enable udf hashing across FFI boundary

Open
#17,087 3 comments 1 reaction 0 assignees View on GitHub
enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.