4.8. Function Namespace Managers
This is an experimental feature being actively developed. The way Function Namespace Managers are configured might be changed.
Function namespace managers support storing and retrieving SQL functions, allowing the Presto engine to perform actions such as creating, altering, deleting functions.
A function namespace is in the format of (e.g. example.test
). It can be thought of as a schema for storing functions. However, it is not a full fledged schema as it does not support storing tables and views, but only functions.
Each function namespace manager binds to a catalog name and manages all functions within that catalog. Using the catalog name of an existing connector is discouraged, as the behavior is not defined nor tested, and will be disallowed in the future.
Currently, those catalog names do not correspond to real catalogs. They cannot be specified as the catalog in a session, nor do they support CREATE SCHEMA, , DROP SCHEMA, or . Instead, namespaces can be added using the methods described below.
Presto currently stores all function namespace manager related information in MySQL.
When Presto first starts with the above MySQL function namespace manager configuration, two MySQL tables will be created if they do not exist.
example_function_namespaces
stores function namespaces of the catalogexample
.
Multiple function namespace managers can be instantiated by placing multiple properties files under etc/function-namespace
. They may be configured to use the same tables. If so, each manager will only create and interact with entries of the catalog to which it binds.
To create a new function namespace, insert into the table:
INSERT INTO example_function_namespaces (catalog_name, schema_name)
Configuration Reference
The following table lists all configuration properties supported by the MySQL function namespace manager.