SHOW USER FUNCTIONS¶
Lists all user-defined functions (UDFs) for which you have access privileges. This command can be used to list the UDFs for a specified database or schema (or the current database/schema for the session), or across your entire account.
- See also:
SHOW FUNCTIONS , SHOW EXTERNAL FUNCTIONS
FUNCTIONS view (Information Schema)
Syntax¶
SHOW USER FUNCTIONS [ LIKE '<pattern>' ]
[ IN
{
ACCOUNT |
DATABASE |
DATABASE <database_name> |
SCHEMA |
SCHEMA <schema_name> |
<schema_name>
APPLICATION <application_name> |
APPLICATION PACKAGE <application_package_name> |
}
]
Parameters¶
LIKE 'pattern'
Optionally filters the command output by object name. The filter uses case-insensitive pattern matching, with support for SQL wildcard characters (
%
and_
).For example, the following patterns return the same results:
... LIKE '%testing%' ...
... LIKE '%TESTING%' ...
. Default: No value (no filtering is applied to the output).
[ IN ... ]
Optionally specifies the scope of the command. Specify one of the following:
ACCOUNT
Returns records for the entire account.
DATABASE
, .DATABASE db_name
Returns records for the current database in use or for a specified database (
db_name
).If you specify
DATABASE
withoutdb_name
and no database is in use, the keyword has no effect on the output.SCHEMA
, .SCHEMA schema_name
, .schema_name
Returns records for the current schema in use or a specified schema (
schema_name
).SCHEMA
is optional if a database is in use or if you specify the fully qualifiedschema_name
(for example,db.schema
).If no database is in use, specifying
SCHEMA
has no effect on the output.
APPLICATION application_name
, .APPLICATION PACKAGE application_package_name
Returns records for the named Snowflake Native App or application package.
Default: Depends on whether the session currently has a database in use:
Database:
DATABASE
is the default (that is, the command returns the objects you have privileges to view in the database).No database:
ACCOUNT
is the default (that is, the command returns the objects you have privileges to view in your account).
Usage notes¶
Columns that start with the prefix
is_
return eitherY
(yes) orN
(no).The command does not require a running warehouse to execute.
The command returns a maximum of 10K records for the specified object type, as dictated by the access privileges for the role used to execute the command; any records above the 10K limit are not returned, even with a filter applied.
To view results for which more than 10K records exist, query the corresponding view (if one exists) in the Snowflake Information Schema.
To post-process the output of this command, you can use the RESULT_SCAN function, which treats the output as a table that can be queried.
Output¶
The command output provides user function properties and metadata in the following columns:
Column |
Description |
---|---|
|
The timestamp at which the user-defined function (UDF) was created. |
|
The name of the UDF. |
|
The name of the schema in which the UDF exists. |
|
Whether the UDF is built-in (always false for UDFs). |
|
True if the UDF is an aggregate function; false otherwise. |
|
Not applicable currently. |
|
The minimum number of arguments to the UDF. |
|
The maximum number of arguments to the UDF. |
|
The data types of the arguments and of the return value. |
|
Description of the UDF. |
|
The name of the database in which the UDF exists. |
|
True if the UDF is a table function; false otherwise. |
|
True if the UDF can be used in a CLUSTER BY expression; false otherwise. |
|
True if the UDF is a secure UDF; false otherwise. |
|
Y (yes) if the function is an external function, N (no) otherwise. |
|
Specifies the language of the UDF (e.g. SQL). |
|
Y (yes) if the function is memoizable, N (no) otherwise. |
|
Y (is) if the function is a data metric function, N (no) otherwise. |
Examples¶
Show all the UDFs that you have privileges to view in the current database:
show user functions like 'ALLOWED_REGIONS%' in schema; ---------------------------------+--------------------------+-------------+------------+--------------+---------+-------------------+-------------------+-----------------------------------------+-----------------------+----------------+-------------------+----------------------+-----------+----------------------+----------+---------------+ created_on | name | schema_name | is_builtin | is_aggregate | is_ansi | min_num_arguments | max_num_arguments | arguments | description | catalog_name | is_table_function | valid_for_clustering | is_secure | is_external_function | language | is_memoizable | ---------------------------------+--------------------------+-------------+------------+--------------+---------+-------------------+-------------------+-----------------------------------------+-----------------------+----------------+-------------------+----------------------+-----------+----------------------+----------+---------------+ Fri, 23 Jun 1967 00:00:00 -0700 | ALLOWED_REGIONS | SCH | N | N | N | 0 | 0 | ALLOWED_REGIONS() RETURN ARRAY | user-defined function | MEMO_FUNC_TEST | N | N | N | N | SQL | Y | Fri, 23 Jun 1967 00:00:00 -0700 | ALLOWED_REGIONS_NON_MEMO | SCH | N | N | N | 0 | 0 | ALLOWED_REGIONS_NON_MEMO() RETURN ARRAY | user-defined function | MEMO_FUNC_TEST | N | N | N | N | SQL | N | ---------------------------------+--------------------------+-------------+------------+--------------+---------+-------------------+-------------------+-----------------------------------------+-----------------------+----------------+-------------------+----------------------+-----------+----------------------+----------+---------------+