-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DataFusion Regression (Starting in v43): Type Coercion for UDF Arguments (X --> String) for Specified UDFs #14230
Comments
Take |
BTW I think @Omega359 hit the same issue about automatically coercing from
.with_column(
STRING_FIELD,
when(col(STRING_FIELD).eq(lit(83)), lit(82)).otherwise(col(STRING_FIELD))?,
)? switching to the obvious change below worked .with_column(
STRING_FIELD,
when(col(STRING_FIELD).eq(lit("83")), lit("82")).otherwise(col(STRING_FIELD))?,
)? |
We have many tests for coercion, so I feel like the issue is more targeted than all coercion -- clearly we need to figure out what is going on and get some tests in place to make sure it doesn't happen again |
I'm in the process of trying to track down another type coercion issue locally:
The error message doesn't include the function name unfortunately (PR incoming soon). |
@Omega359 @alamb I've spent some time exploring the code and feel like I have a decent understanding of how it works. If it's helpful, I'd be happy to walk through it together. It shouldn't take long, and I think it could help clarify some of the points I've been trying to make. I tried to explain everything in detail in the PR, but I realize I might not have done the best job, so I'm happy to discuss further or clarify anything that's unclear. |
I will try and review it shortly |
Close by #14440 |
Describe the bug
A bug was introduced in DataFusion v43.0.0 that affects type coercion for UDF arguments. Sail's tests uncovered several of these regressions, which required explicit casting in multiple areas as a workaround during the upgrade to DataFusion 43.0.0.
The regressions identified by Sail's tests include the following functions:
ascii
bit_length
contains
ends_with
starts_with
octet_length
Scope of Work:
To Reproduce
No response
Expected behavior
No response
Additional context
45.0.0
#14008 (comment)The text was updated successfully, but these errors were encountered: