DESCRIBE PROCEDURE¶
DESCRIBE PROCEDURE命令返回指定命名过程的详细信息。
下表展示了返回的信息:
| 列 | 描述 |
|---|---|
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 |
过程的描述。 |
Note
对非默认 Schema 或其中的对象执行操作时,用户既要通过隐式访问规则或显式USAGE授权获得该 Schema 的访问权,也要具备目标操作所需的权限。Schema 访问校验和目标操作所需的权限校验相互独立,满足其中一项不能替代另一项。Schema 访问控制不适用于临时图、内置 Procedure 和内置 Function。更多信息,请参见 Schema 访问控制。
语法¶
- describe_procedure_command
describe_procedure_command ::=
('DESCRIBE' | 'DESC') 'PROCEDURE' procedure_name
参数¶
procedure_name¶
待查询的过程的名称。过程名称区分大小写。
支持指定正则表达式来匹配多个过程。正则表达式必须用双引号(")或反引号(`)包围。例如,DESC PROCEDURE "show.*"可匹配所有名称以show开头的过程。
示例¶
查询一个命名过程的详细信息¶
DESCRIBE PROCEDURE show_queries
返回:
+-----------+---------+--------+-------+--------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+-----------------------------+
| proc_type | module | schema | owner | name | parameters | return_fields | null_case | comment |
+-----------+---------+--------+-------+--------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+-----------------------------+
| CPP | dbms.so | | | show_queries | | username:STRING, host:STRING, home_graph:STRING, session_id:INT64, query_id:STRING, query:STRING, start_time:ZONEDDATETIME, duration(ms):INT64, status:STRING | | display the running queries |
+-----------+---------+--------+-------+--------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+-----------------------------+
通过正则表达式查询多个命名过程¶
DESC 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 |
...
+-----------+---------+--------+-------+-------------------------------------------+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+-------------------------------------------------------------------------+