SHOW PROCEDURE / PROCEDURES¶
SHOW PROCEDURES命令返回命名过程信息,包括 Catalog 中所有内置过程和当前 Schema 中所有用户自定义过程。您可以通过执行SHOW PROCEDURE <procedure_name>命令查看特定命名过程的信息。
如果当前用户没有当前 Schema 的USAGE,仍会返回内置 Procedure,但不会返回该 Schema 中的 UDP。更多信息,请参见 Schema 访问控制。
下表展示了返回的信息:
| 列 | 描述 |
|---|---|
proc_type |
过程的类型,表示过程是用哪种语言编写的。有效值:CPP(C++)和GQL。 |
module |
过程所属的模块。模块指的是包含定义过程的相关代码的文件。 |
schema |
过程所在的 Schema。所有内置过程不与任何 Schema 关联,因此其schema字段为空。 |
owner |
过程的所有者。所有内置过程均由系统提供,因此其owner字段为空。 |
name |
过程的名称。 |
parameters |
过程接受的入参及其数据类型。如果过程不接受任何入参,此字段为空。 |
return_fields |
过程的返回参数,包括参数名称及其数据类型。 |
null_case |
过程如何处理取值为null的入参。所有用GQL编写的过程,其默认值为raise error on null input,表示如果任何输入参数设置为null,则报错。 |
comment |
过程的描述。 |
语法¶
- show_procedures_command
- show_procedure_command
show_procedures_command ::=
'SHOW' 'PROCEDURES'
show_procedure_command ::=
'SHOW' 'PROCEDURE' procedure_name
参数¶
procedure_name¶
查询的过程的名称。
支持指定正则表达式来匹配多个过程。正则表达式必须用双引号(")或反引号(`)包围。例如,SHOW PROCEDURE "show.*"可匹配所有名称以show开头的过程。
执行SHOW PROCEDURES命令可查看所有可用的命名过程。
示例¶
查询所有命名过程¶
SHOW PROCEDURES
返回:
+-----------+-------------------+--------+-------+-------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+-------------------------------------------------------------------------+
| proc_type | module | schema | owner | name | parameters | return_fields | null_case | comment |
+-----------+-------------------+--------+-------+-------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+-------------------------------------------------------------------------+
| CPP | plugin_manager.so | | | create_plugin | plugin_name:STRING, if_not_exist:BOOL | | | create metadata for specified plugin |
| CPP | plugin_manager.so | | | drop_plugin | plugin_name:STRING, if exists:BOOL | | | drop specified plugin and remove the metadata |
...
+-----------+-------------------+--------+-------+-------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+-------------------------------------------------------------------------+
查询一个命名过程¶
SHOW PROCEDURE show_queries
返回:
+-----------+---------+--------+-------+--------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+-----------------------------+
| proc_type | module | schema | owner | name | parameters | return_fields | null_case | comment |
+-----------+---------+--------+-------+--------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+-----------------------------+
| CPP | dbms.so | | | show_queries | | username:STRING, host:STRING, graph:STRING, session_id:INT64, query_id:STRING, query:STRING, start_time:ZONEDDATETIME, duration(ms):INT64, status:STRING, category:STRING | | display the running queries |
+-----------+---------+--------+-------+--------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+-----------------------------+
通过正则表达式查询多个命名过程¶
SHOW PROCEDURE "show.*"
返回:
+-----------+---------+--------+-------+-------------------------------------------+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+-------------------------------------------------------------------------+
| proc_type | module | schema | owner | name | parameters | return_fields | null_case | comment |
+-----------+---------+--------+-------+-------------------------------------------+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+-------------------------------------------------------------------------+
| CPP | dbms.so | | | show_current_session_time_formats | | date_format:STRING, local_time_format:STRING, zoned_time_format:STRING, local_datetime_format:STRING, zoned_datetime_format:STRING | | display all time formats of the current session |
| CPP | dbms.so | | | show_services | service_type:STRING | host:STRING, port:UINT32, status:STRING, service_type:STRING, git_info_sha:STRING, version:STRING | | show services of specific type in this service group |
...
+-----------+---------+--------+-------+-------------------------------------------+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+-------------------------------------------------------------------------+