Uh oh!
There was an error while loading. Please reload this page.
Deprecate ScalarUDF::is_nullable - #17074
Conversation
`ScalarUDFImpl::is_nullable` is deprecated. The `ScalarUDF`'s wrapper also needs deprecation to allow eventually removing the deprecated `ScalarUDFImpl::is_nullable`.
Blizzara
commented
Aug 7, 2025
Thanks! The deprecation is sure an improvement, but I wonder if overall this is_nullable -> return type from args change suffers from the same issue as the earlier ones, namely that if a user implements a custom UDF overriding the is_nullable, they don’t see the deprecation warning and so their compiler won’t likely warn them to switch to the new one. If I remember correctly, the ”best” way I could figure out for these cases where
(I may be also a bit rusty in my thinking, haven’t been working on this for a while anymore now.) |
Uh oh!
There was an error while loading. Please reload this page.
findepi
commented
Aug 8, 2025
Typically the new function delegates to the old one and the old one gets deprecated. If that's not possible, adding such new function is a breaking API change. In such case, graceful deprecation of the old function doesn't help, and actually makes situation worse, as you said -- no compiler's help. Given exactly this was the case with |
alamb
commented
Aug 8, 2025
I agree that simply removing the now that we have an Upgrade Guide, we have a place to provide more context for these changes too so I think thier impact is less jarring / seemingly arbitrary |
ScalarUDFImpl::is_nullableis deprecated since d3f1c9a. TheScalarUDF's wrapper also needs deprecation to allow eventually removing the deprecatedScalarUDFImpl::is_nullable.cc @Blizzara