Skip to content
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

Implement Aliases for ScalarUDF #8348

Closed
alamb opened this issue Nov 28, 2023 · 3 comments · Fixed by #8360
Closed

Implement Aliases for ScalarUDF #8348

alamb opened this issue Nov 28, 2023 · 3 comments · Fixed by #8360
Labels
enhancement New feature or request

Comments

@alamb
Copy link
Contributor

alamb commented Nov 28, 2023

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 :

  1. Add aliasing to ScalarUDF API
  2. Hook it up so that ScalarUDF can accept aliases and that the planner can use them
  3. 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

@Veeupup
Copy link
Contributor

Veeupup commented Nov 29, 2023

hi @alamb maybe I can help with this ticket

@edmondop
Copy link
Contributor

hi @alamb maybe I can help with this ticket

@Veeupup if you decide not to proceed I will pick this up, let me know

Ed

@Veeupup
Copy link
Contributor

Veeupup commented Nov 29, 2023

@edmondop hi! very glad to have you there!

I have made a PR #8360 hours ago. Maybe you can help me review it and let's make it better together! : )

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants