Skip to content

[branch-53] Add exact HigherOrderSignature#129

Merged
LiaCastaneda merged 1 commit into
DataDog:branch-53from
LiaCastaneda:lia/bring-exact-signature
May 26, 2026
Merged

[branch-53] Add exact HigherOrderSignature#129
LiaCastaneda merged 1 commit into
DataDog:branch-53from
LiaCastaneda:lia/bring-exact-signature

Conversation

@LiaCastaneda
Copy link
Copy Markdown

cherry-picks #/22326

This change will be included in v54 release

## Which issue does this PR close?

No issue — this is a follow-up to apache#21679.

## Rationale for this change

In `ScalarUDF`, arity is enforced by the framework via `TypeSignature`.
In `HigherOrderUDF`, functions with a fixed number of value and lambda
arguments had to use `UserDefined` and manually validate arity inside
`coerce_value_types`, which is boilerplate that every implementor has to
repeat.

## What changes are included in this PR?

Adds `HigherOrderTypeSignature::Exact { values: usize, lambdas: usize }
`variant that enforces a fixed count of value and lambda arguments,
calling coerce_value_types only for type coercion as well

## Are these changes tested?

Yes I added some planning tests for exact siganture in
`datafusion/expr/src/type_coercion/functions.rs`

## Are there any user-facing changes?

Yes a new signature for HigherOrderSignature was added.

(cherry picked from commit fb26fd9)
@datadog-prod-us1-4
Copy link
Copy Markdown

Pipelines

Fix all issues with BitsAI

⚠️ Warnings

🚦 1 Pipeline job failed

Rust | build and run with wasm-pack   View in Datadog   GitHub Actions

🛟 This job is unlikely to succeed on retry. Please review your pipeline configuration. Failed to install wasm-pack. HTTP request failed with status 404 during download from URL: https://github.com/drager/wasm-pack/releases/download/v0.14.0/wasm-pack-v0.14.0-x86_64-unknown-linux-musl.tar.gz

Useful? React with 👍 / 👎

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: e208401 | Docs | Datadog PR Page | Give us feedback!

@LiaCastaneda LiaCastaneda merged commit 6ef2a10 into DataDog:branch-53 May 26, 2026
32 of 33 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants