-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
Is your feature request related to a problem or challenge?
As part of #8045 we need to ensure that scalar UDFs have the same functionality as built in functions.
One gap that currently exists is "aliases".
For example, pow and power are both resolved to the same function.
Describe the solution you'd like
Implement aliasing for ScalarUDF
Basically :
- Add aliasing to ScalarUDF API
- Hook it up so that ScalarUDF can accept aliases and that the planner can use them
- Write an end to end test (probably in https://github.com/apache/arrow-datafusion/blob/32fe1761287c9b58294a54805a0fcafc4ab046b8/datafusion/core/tests/user_defined/user_defined_scalar_functions.rs#L1-L0)
I am envisioning creating a scalar UDF with a new function with_alias. Something like
ScalarUDF::new(
"pow",
&Signature::exact(input_types, volatility),
&return_type,
&fun,
)
.with_alias("power")Currently the alias list is here:
https://github.com/apache/arrow-datafusion/blob/094a0e2d0c8c1f71c985c7bfdf21433ebc8f203e/datafusion/expr/src/built_in_function.rs#L1374
Describe alternatives you've considered
No response
Additional context
No response
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request