ScalarUDFImpl invoke improvements #13507
Draft
+102
−50
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Builds on #13290 from @joseph-isaacs
Which issue does this PR close?
ScalarUDFImpl::invoke_with_args
to support passing the return type created for the udf instance #13290Rationale for this change
If we are going to change the signature of
invoke
I would to make it possible in the future to reuse allocations -- at the moment the API requires creating new arrays even when the input array is not used because the functions get the input as&[ColumnarValues]
meaning they don't own them (the caller retains a reference)What changes are included in this PR?
Change ScalarFunctionArgs to pass by value
1,
Are these changes tested?
Are there any user-facing changes?