内置命名过程¶
内置命名过程是悦数图数据库开发版预定义的命名过程。其中,部分过程通过官方插件提供,需要加载相应插件后才能使用。不同部署环境中可用的内置命名过程可能不同。
查看内置过程¶
执行以下语句查看当前环境中的可用命名过程:
SHOW PROCEDURES
查询结果包括 Catalog 中的内置命名过程,以及当前 Schema 中的用户定义过程(User-Defined Procedure,简称 UDP)。内置命名过程的schema和owner字段为空。
过程类别¶
内置命名过程主要涵盖以下类别。表中的过程名称仅用于举例,不表示完整列表。
| 类别 | 代表性过程 | 用途 |
|---|---|---|
| Catalog 和元数据 | show_schemas、show_graphs、show_graph_types、show_procedures、show_functions、show_plugins、show_indexes |
查询 Schema、图、图类型、过程、函数、插件和索引等元数据。 |
| 集群和存储 | show_services、show_partitions、show_leaders、show_peers、show_stats |
查询服务、分片、副本、Leader 和统计信息。 |
| 查询、会话和权限 | show_queries、show_sessions、show_current_session、show_users、show_roles |
查询运行中的查询、会话、用户和角色。 |
| 作业和运维操作 | compact、flush、stats、stop_job、balance_leader、balance_data、drain_leader |
提交或停止作业,以及执行均衡等运维操作。 |
| 官方插件提供的过程 | algo.bfs、algo.dijkstra、algo.pagerank、algo.subgraph |
执行图算法;使用前需要加载提供相应过程的插件。 |
请以SHOW PROCEDURES的查询结果为准。也可以使用正则表达式按名称缩小查询范围。例如,执行以下语句查看名称以show开头的过程:
SHOW PROCEDURE "show.*"
有关命令语法和全部返回字段,请参见SHOW PROCEDURE / PROCEDURES。
查看入参与返回字段¶
执行SHOW PROCEDURE <procedure_name>查看具体过程的信息。例如:
SHOW PROCEDURE show_graphs
查询结果中的parameters字段说明过程可接受的入参名称和数据类型,return_fields字段说明过程的返回字段名称和数据类型。parameters不标识参数是否必填;请参考相应过程的详细文档确认必填参数和可选参数。
调用内置过程¶
内置命名过程和 UDP 使用相同的CALL语法。例如:
CALL show_graphs() RETURN *
有关列选择、筛选、结果传递、聚合和分页等通用用法,请参见使用 CALL 调用命名过程。
与管理命令的关系¶
为了简化常见管理操作,部分内置命名过程同时提供SHOW、DESCRIBE、KILL、BALANCE等命令。这些命令不是另一种过程类型。对于下表所列的对应关系,系统会将命令解析为对相应内置过程的隐式调用,两种写法调用同一个底层过程。
提供两种写法,是为了兼顾简洁性和可组合性:
| 写法 | 特点 | 适用场景 |
|---|---|---|
SHOW、KILL等命令 |
常用管理操作的简洁写法;作为顶层命令单独执行,直接返回默认结果或执行对应操作。 | 查看完整的默认结果,或执行单个管理操作。 |
显式CALL |
通用且可组合;以RETURN或FINISH结束,并可使用YIELD、FILTER、聚合、排序、分页、前序变量或后续CALL。 |
选择或重命名返回列、过滤和处理结果、使用动态参数,或将多个操作组成查询。 |
下表仅列出具有对应SHOW、KILL等命令的常用内置过程,不是完整的内置过程列表。并非每个内置过程都有对应命令。
Note
表中的调用方式是与右侧命令对应的示例,并非过程的完整签名。查询全部对象或执行不需要指定目标的操作时,示例无需传入参数;查询或操作特定对象时,需要传入名称、ID 等参数。()表示示例没有传入参数,但相应过程仍可能支持可选参数。例如,show_graphs可通过可选参数按图类型筛选结果。<job_id>、<graph_name>等是占位符,使用时需替换为实际值。请执行SHOW PROCEDURE <procedure_name>查看过程可接受的入参名称和数据类型;参数是否必填请参考相应过程的详细文档。
| 内置过程调用示例 | 对应的SHOW、KILL等命令 |
用途 |
|---|---|---|
CALL show_graphs() RETURN * |
SHOW GRAPHS |
查询图和临时图。 |
CALL show_graph_types() RETURN * |
SHOW GRAPH TYPES |
查询图类型。 |
CALL show_services() RETURN * |
SHOW SERVICES |
查询服务。 |
CALL show_peers() RETURN * |
SHOW PEERS |
查询分片副本。 |
CALL show_queries() RETURN * |
SHOW QUERIES |
查询正在运行或正在取消的查询。 |
CALL show_sessions() RETURN * |
SHOW SESSIONS |
查询活跃会话。 |
CALL show_job(<job_id>) RETURN * |
SHOW JOB <job_id> |
查询指定作业。 |
CALL stats("<graph_name>") RETURN job_id |
SUBMIT JOB STATS <graph_name> |
提交生成指定图统计信息的作业。 |
CALL version() RETURN version |
SHOW VERSION |
查询版本信息。 |
CALL kill_query("<query_id>") RETURN query_id |
KILL QUERY "<query_id>" |
终止指定查询。 |
CALL kill_session(<session_id>) RETURN session_id |
KILL SESSION <session_id> |
终止指定会话。 |
CALL cancel_balance_data() FINISH |
CANCEL BALANCE DATA |
取消数据均衡作业。 |
详细文档¶
algo.subgraph:按多源 BFS 方式从持久图中提取子图。该过程由algo插件提供,使用前需要加载插件。