-
Notifications
You must be signed in to change notification settings - Fork 5.4k
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
Enable Dynamically registered functions #9613
Comments
This is possible correctly using JARs. Could you elaborate a bit? Do you mean a more holistic approach where:
Could you give an example? |
Yes, functions in languages such as Javascript, Ruby, Python or even the SQL-specific language --- basically, anything that can be properly sandboxed. Efforts such as Truffle/Graal can make this easier (and performant). See CREATE FUNCTION and CREATE TYPE in the spec.
For example, the upcoming spatial join optimizations. Or any of the desugaring optimizers if we decide to place the built-in functions into a namespace (although, those might go into a fixed namespace that's guaranteed to exist, similar to "sys" or "information_schema"). |
I didn't expect that, but it seems that there is serious effort to support R and Python: http://gigasquidsoftware.com/blog/2017/10/22/embedded-interop-between-clojure-r-and-python-with-graalvm/. Do you plan to embrace Truffle/Graal in the next year or so? |
I like that! |
I'd like to start experimenting with it, but it's unlikely we'll support it for production workloads, yet. The first step is to get on Java 9. |
Updated based on trinodb/trino#8 |
Goals
Features
Considerations and open questions
TODOs
Introduce proper function abstractions to engine (FunctionManager, FunctionHandle, etc). Add FunctionManager #11851 Add FunctionHandle as abstraction for function resolution #12427 Refactor RowExpression and move CallExpression to FunctionHandle #12444 Switch ImplementationDependency to use FunctionHandle #12472 Delete InternalSignatureUtils #12542 Remove unnecessary resolveFunction call #12541
Simplify function resolution
Simplify function instance usage
Clarify function resolution logic involving multiple function namespaces
Stored SQL function support (ref: old PR with implementation of stored procedure Add initial support for stored routines #2702)
CREATE FUNCTION
statement CREATE FUNCTION syntax #13254ALTER FUNCTION
,DROP FUNCTION
statement Support ALTER FUNCTION #13799 13412GRANT
for function accessReferences
The text was updated successfully, but these errors were encountered: