Allow type coersion of zero input arrays to nullary#15487
Merged
timsaucer merged 6 commits intoapache:mainfrom Mar 31, 2025
Merged
Allow type coersion of zero input arrays to nullary#15487timsaucer merged 6 commits intoapache:mainfrom
timsaucer merged 6 commits intoapache:mainfrom
Conversation
…coerce empty vector of arguments to nullary due to check. This also exposes return_type_from_args instead of just return_type that was causing some UDFs to fail. Added unit tests and moved around FFI test modules a little.
Member
Author
|
@jayzhan211 Would you mind reviewing, specifically the part in |
jayzhan211
approved these changes
Mar 30, 2025
nirnayroy
pushed a commit
to nirnayroy/datafusion
that referenced
this pull request
May 2, 2025
* ScalarUDF via FFI would break with nullary type inputs. We could not coerce empty vector of arguments to nullary due to check. This also exposes return_type_from_args instead of just return_type that was causing some UDFs to fail. Added unit tests and moved around FFI test modules a little. * Add license text * Correct error in documentation * Error message changed in test due to updated scalar coercion * Perform check of user defined types when looking for empty argument types * Updated error messages during unit test
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Which issue does this PR close?
None
Rationale for this change
During testing for aggregate UDFs via FFI I discovered that if we have a UDF with a nullary type signature, it cannot use the coercion functions with arguments of zero lenght. This PR adjusts for that fact.
Additional testing showed that we need to implement
return_type_from_argsor some UDFs would fail. This PR implements it.What changes are included in this PR?
In addition to the two changes above, there are some moving around of the FFI integration tests now that they're getting larger. Basically I split them into a couple of files.
Are these changes tested?
Unit test added.