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

Add function resolution to SPI #12588

Merged
merged 13 commits into from
Sep 4, 2022
Merged

Add function resolution to SPI #12588

merged 13 commits into from
Sep 4, 2022

Conversation

dain
Copy link
Member

@dain dain commented May 29, 2022

Description

This is the last step in adding dynamic function resolution to the SPI. The function system has been updated in previous PRs, and this PR is focused on:

  • Cleanup function APIs: rename classes, add builders, and such
  • Move function APIs to the SPI package
  • Wire function resolution into connector metadata

Related issues, pull requests, and links

Documentation

(X) No documentation is needed.
( ) Sufficient documentation is included in this PR.
( ) Documentation PR is available with #prnumber.
( ) Documentation issue #issuenumber is filed, and can be handled later.

Release notes

( ) No release notes entries required.
(X) Release notes entries required with the following suggested text:

# SPI
* Add function resolution to connector. ({issue}`12588`)

@dain dain requested review from electrum, martint, findepi and kasiafi May 29, 2022 20:16
@cla-bot cla-bot bot added the cla-signed label May 29, 2022
@dain dain force-pushed the function-spi branch 2 times, most recently from 3fa986d to 103bc90 Compare May 29, 2022 23:16
@findepi
Copy link
Member

findepi commented May 30, 2022

  • Move function APIs to the SPI package

Does it allow implementing non-annotation-driven functions in a connector?
cc @wmoustafa

@dain
Copy link
Member Author

dain commented May 31, 2022

@findepi yes

@wmoustafa
Copy link

This is awesome to see. Thank you so much @dain for working on this. We will check it out to ensure backward compatibility as we leveraged the internal implementation (pre-SPI) in Transport (Ref). @phd3 FYI.

@dain dain force-pushed the function-spi branch 3 times, most recently from ea9f679 to 20e84e6 Compare July 23, 2022 05:19
@dain dain force-pushed the function-spi branch 2 times, most recently from b3d0fd0 to 865b1d5 Compare August 4, 2022 01:36
dain added 3 commits September 3, 2022 14:26
Catalogs functions can be added via SET PATH.  Builtin functions are
always processed first.
@dain dain merged commit aa849a4 into trinodb:master Sep 4, 2022
@dain dain deleted the function-spi branch September 4, 2022 23:30
@github-actions github-actions bot added this to the 395 milestone Sep 4, 2022
import static java.util.Objects.requireNonNull;

@Experimental(eta = "2022-10-31")
public class QualifiedFunctionName
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's the difference between this class QualifiedFunctionName and io.trino.spi.expression.FunctionName?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

Function and type namespaces
4 participants